Thông báo

Collapse
No announcement yet.

LCD kit spartan3E

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #31
    chào bạn kamejoko80. phần hướng dẫn của bạn về lập trình cho LCD rất hay.tuy nhiên trong quá trình đọc có mọt chỗ mình chưa hiểu đó là đoạn "Chọn nút radio address, trong mục size (kích thước vùng nhớ cho ngoại vi) trong drop list chọn 64K, sau đó chọn Generate Addresses, Xillin tự động tính toán các đường địa chỉ và remap lại cho toàn bộ ngoại vi" ở đây ta có thể chọn vùng nhớ cho ngoại vi LCD thấp hơn hay cao hơn được không?và vì sao bạn lại chọn như vậy. bạn hoặc ai đã hiểu có thể giải thích cho mình. thaks a lot!

    Comment


    • #32
      em đang làm đồ án nhwng rất ít có điều kiện online. Anh có thể send mail để em trao đổi không? Mail của em là nghia0205ktqs@gmail.com

      Comment


      • #33
        em cần mail của anh kamejoko80

        Comment


        • #34
          sao nghĩa lấy nick của anh hỏi thế.nick của em đâu rồi?

          Comment


          • #35
            Mấy bác có biết ở đâu bán cái kit Spartan 3e không vây? Mấy bác chỉ cho em mua với, em muốn mua kit này mà không biết ở đâu bán, mấy bác giúp em với, cám ơn mấy bác nhiều!

            Comment


            • #36
              Bạn shellingford có thể nói rõ bạn đã làm thế nào mà được không.Mình cũng đang mắc chỗ đó.Mình dùng EDK 9.1 nên cũng như bạn nhưng thử lại nhiều lần vẫn không được.Bạn nói cụ thể giúp mình nhé.Cảm ơn nhiều.

              Comment


              • #37
                Nếu bạn dùng EDK 9.1 thì vẫn hỗ trợ sử dụng OPB (On-Chip Peripheral Bus). GPIO
                (General Purpose Input Output) là một IP core cho phép kết nối giữa giữa các bank địa chỉ (bank giống 8051 đó) với bus OPB. Chúng ta sẽ tạo một GPIO mới, đổi tên thành LCD_16x2 (tên này tùy mình chọn thôi), sau đó thiết lập độ rộng bit dữ liệu của LCD_16x2 là 7 bit (0:6) = (E,RS,RW,D7,D6,D5,D4). LCD 16x2 này sử dụng D4 đến D7 để truyền dữ liệu 8 bit, vậy là phải truyền 2 lần mới được một chuỗi data cho LCD. Các chân E,RS,RW là để điều khiển việc truyền dữ liệu đó. Công việc tiếp theo là vào file system.ucf để kết nối các chân trên với các chân của bank OPB bằng cách thêm các dòng khai báo đại loại như NET LCD_16x2<1> = EA12 ... NET LCD_16x2<2> = EF12 (cái này tuỳ board, tham khảo trên mạng). Đó là xong phần cứng, tiếp theo là đến phần mềm, các bạn cần có file lcd.h chứa các khai báo tên hàm, lcd.c chứa nội dung các hàm cho lcd như Home, ClearLCD, Write2Lines, WriteInteger, WriteFloat, ... các hàm này tìm trên mạng, nếu giỏi về đk lcd các bạn có thể viết thêm hàm tùy ý. Ứng dụng thì làm bên tab Application chắc ko phải chỉ. Làm một cái file gì đó dạng như top.c rồi include mấy cái file h vào, như xparameters.h, util.h, lcd.h, ... , rồi viết chương trình ở dưới. Có một điểm nữa là cần xác định ID DEVICE cho LCD, như đoạn này
                Code:
                XGpio LCD_Instance;
                XGpio_Initialize (&LCD_Instance, LCD_DEVICE_ID);
                XGpio_SetDataDirection (&LCD_Instance, LCD_CHANNEL, 0);
                đoạn này nằm trong top.c

                Comment


                • #38
                  cảm ơn bạn nhưng mình nhầm mình dùng EDK 9.2i nên chỉ hỗ trợ PLB. Mong bạn chỉ giúp.

                  Comment


                  • #39
                    Nếu bạn mới tìm hiểu về EDK thì nên thực hiện 6 bài lab của Xilnx trước , có thể down lab dành cho bản 9.2 (board Spartan3E Start Kit) tại đây : http://users.utcluj.ro/~baruch/ssce/labor/
                    Các lab này giới thiệu khá chi tiết, dễ hiểu và có trình tự. Bạn nên thực hiện tuần tự từng lab một. Tại lab 3 cũng có 1 bài hướng dẫn tạo IP cho LCD.
                    (bạn cũng có thể thực hiện các lab này ở các phiên bản EDK thấp hơn , sử dụng bus OPB , tất nhiên phải chỉnh sửa lại 1 vài thứ).

                    Comment


                    • #40
                      cam on ban nhieu.

                      Comment


                      • #41
                        Hi chào các bạn, topic này đã lâu mà kame không vào, hì hì! về vấn đề delay bằng vòng for, mình chỉ ước chừng thôi, bời vì điều khiển LCD tương đối dzễ, delay bao nhiêu cũng được, miễn là dài hơn thời gian đáp ứng tối thiều của nó thôi.

                        Ở trên kame không cần tính toán chi cả, xung clock của CPU là 100Mhz, mình cứ định lượng chạy 1 vòng for là 1 chu kỳ (tất nhiên là lớn hơn 1 chu kỳ rồi), định lượng i x j x chu kỳ ta có được thời gian delay, đơn giản thế thôi.

                        Phần ví dụ trên, vì sao mình không dùng thẳng GPIO điều khiển LCD mà lại dùng custom IP làm gì ? Nếu dùng GPIO thì mình chỉ việc add vào đơn giản, viết code C là xong. Còn nếu dùng custom IP thì khó hơn, chủ ý của kame không nhằm điều khiển LCD, bởi vì thông qua cách này mình biết được qui trình tạo custom IP, và bạn có thể tạo ra các core IP FFT, IFFT... theo ý mình muốn.

                        Vì sao phải làm với microblaze mà không làm với picoblaze. Thực sự mà nói kame chưa làm picoblaze bao giờ, nhưng có lẽ ứng dụng của picoblaze là hạn chế, nên khi mới mua kit về kame nhảy thẳng vào tìm hiểu microblaze. CPU tính ra nó cũng gói gọn nhiêu ấy thôi, điều quan trọng là số lượng cách thành phần, IO (IP core) mà nó support, vì thế kame đã chọn Microblaze hoặc PowerPC 405.

                        Làm cái khó thì quá sức thường dẫn đến chán nản, nhưng mà nếu làm xong rồi thì mình cảm thấy mọi thứ dzễ dzàng hơn, chúc thành công nhé!
                        Last edited by kamejoko80; 02-03-2009, 21:32.

                        Comment


                        • #42
                          Nguyên văn bởi xuantung Xem bài viết
                          chào bạn kamejoko80. phần hướng dẫn của bạn về lập trình cho LCD rất hay.tuy nhiên trong quá trình đọc có mọt chỗ mình chưa hiểu đó là đoạn "Chọn nút radio address, trong mục size (kích thước vùng nhớ cho ngoại vi) trong drop list chọn 64K, sau đó chọn Generate Addresses, Xillin tự động tính toán các đường địa chỉ và remap lại cho toàn bộ ngoại vi" ở đây ta có thể chọn vùng nhớ cho ngoại vi LCD thấp hơn hay cao hơn được không?và vì sao bạn lại chọn như vậy. bạn hoặc ai đã hiểu có thể giải thích cho mình. thaks a lot!
                          Bạn có thể chọn kích thước của nó như ý muốn, sau khi chọn xong bạn lock nó lại, sau đó bạn ấn nút generate bình thường, xilinx sẽ tạo kích thước tự động cho những phần khác, phần kích thước bạn lock nó sẽ không thay đỗi.

                          Comment


                          • #43
                            Bạn Kame ơi, bạn có thể nói cụ thể "những chú ý" trong các bước ở kit Spartan3e so với kít mà bạn sử dụng để làm Microblaze điều khiển LCD cho mọi người biết được không?Mình thử nghiệm trên Kit Spartan 3e các bước y hệt mà vẫn không được?
                            Technical Institutes
                            Mobile: 0983278725
                            Email:

                            Comment


                            • #44
                              Như vầy! trước tiên bạn thử port của bạn vừa tạo chạy có đúng hay chưa bằng cách gán các chân ra (edit file .ucf) vào dzãy led có trên board, dùng phần mềm xuất ra port xem các led có sáng theo như ý muốn hay không.

                              Nếu test xong phần này bạn hãy gán vào các chân của LCD. Chú ý về thứ tự bit của port xuất có phù hợp với thứ tự chân LCD hay không, chúc thành công nhé!

                              Comment


                              • #45
                                Thanks bác kamejoko. Bài viết của bác giúp em rất nhiều trong việc tìm hiểu về MicroBlaze. Tuy nhiên, em không nạp thẳng vào bord như bác mà em phải dùng Modelsim mô phỏng trước, như thế mới test được hết các lỗi của mình. Hiện em đang thử load các core mình cần sử dụng vào Modelsim, sau đó nạp file .hex được biên dịch từ SDK vào BRAM. Em cũng đang gặp một số khó khăn. Có j mong bác chỉ giáo.

                                Comment

                                Về tác giả

                                Collapse

                                process Tìm hiểu thêm về process

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X