Thông báo

Collapse
No announcement yet.

Giao tiếp với LCD dùng FPGA!

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

  • Giao tiếp với LCD dùng FPGA!

    Chào các bạn, mình mới nghiên cứu FPGA gần đây. Mình muốn giao tiếp LCD với FPGA dùng ngôn ngữ VHDL hoặc Verilog, bạn nào có example code hoặc những tài liệu liên quan hay có kinh nghiệm về vấn đề này có thể share cho mình với. Thanks nhiều nhé.

  • #2
    LCD controller core trên mạng nhiều lắm, bạn chịu khó tìm, thế nào cũng ra. LCD Controller thông thường và LCD controller theo chuẩn wishbone

    Comment


    • #3
      nhân tiện cho mình hỏi với : tại sao khi đọc tài liệu thì viết rằng thời gian warmup cho nguồn đạt đủ điện áp là khoảng 45ms nhưng khi mình làm thì lại thấy thời gian khởi động (chứ không phải khởi tạo đâu )của lCD quá lâu (gần 10s). Không biết là lý do nào

      Comment


      • #4
        minh cung dang lam ve mang nay nhung cung dang be tac day. Hy vong se co nguoi co kinh nghiem giup do!

        Comment


        • #5
          ai bit gi ve viet lap trinh bang vẻilog xin chi giao voi?hoi gap day?co gi lien he o hoangkha_la@yahoo.com.

          Comment


          • #6
            To phongvukim: bạn đã lập trình bằng VHDL chưa. 2 ngôn ngữ này không khác nhau mấy. NẾu bạn đã biết VHDL, thì chuyển sang Vẻilog không khó. Mà bạn hỏi chung chung thế thì không ai giải đáp được.

            Comment


            • #7
              Nguyên văn bởi lahodu Xem bài viết
              Chào các bạn, mình mới nghiên cứu FPGA gần đây. Mình muốn giao tiếp LCD với FPGA dùng ngôn ngữ VHDL hoặc Verilog, bạn nào có example code hoặc những tài liệu liên quan hay có kinh nghiệm về vấn đề này có thể share cho mình với. Thanks nhiều nhé.
              uhm...mình cũng đang vướng mắc chỗ này...có bạn nào đã làm thì xin chỉ chi tiết 1 chút được ko...nếu có code ví dụ để ngâm cứu thì càng tốt, tại cũng đang gấp quá. mong được sự giúp đỡ của mọi người

              Comment


              • #8
                Nguyên văn bởi tienbkit Xem bài viết
                uhm...mình cũng đang vướng mắc chỗ này...có bạn nào đã làm thì xin chỉ chi tiết 1 chút được ko...nếu có code ví dụ để ngâm cứu thì càng tốt, tại cũng đang gấp quá. mong được sự giúp đỡ của mọi người
                http://www.fpga4fun.com/TextLCDmodule.html

                hix sao lại nản vậy ku.

                Nhớ pao tao ăn chè hehe

                Sông dài, Thuyền lớn, Biển rộng bao la.
                Tháo neo ngôn ngữ, lèo lái con thuyền kiến thức nhân loại.

                Comment


                • #9
                  Nguyên văn bởi quoc_thaibk Xem bài viết
                  http://www.fpga4fun.com/TextLCDmodule.html

                  hix sao lại nản vậy ku.

                  Nhớ pao tao ăn chè hehe
                  vẫn chưa hiểu lắm...đưa code vào mà chẳng thấy LCD có động tĩnh gì
                  Code:
                  module LCDmodule(clk, RxD, LCD_RS, LCD_RW, LCD_E, LCD_DataBus);
                  input clk, RxD;
                  output LCD_RS, LCD_RW, LCD_E;
                  output [7:0] LCD_DataBus;
                  
                  wire RxD_data_ready;
                  wire [7:0] RxD_data;
                  async_receiver deserialer(.clk(clk), .RxD(RxD), .RxD_data_ready(RxD_data_ready), .RxD_data(RxD_data));
                  
                  assign LCD_RS = RxD_data[7];
                  assign LCD_DataBus = {1'b0, RxD_data[6:0]};
                  
                  assign LCD_RW = 0; // always write, never read from the LCD module
                  
                  reg [2:0] count;
                  always @(posedge clk) if(RxD_data_ready | (count!=0)) count <= count + 1;
                  
                  reg LCD_E;
                  always @(posedge clk) LCD_E <= (count!=0);
                  
                  endmodule
                  Cơ chế của hoạt động LCD:Khi các chân EN & RS & RW đã được set thì chỉ cần 1 bộ đếm delay thời gian đưa dữ liệu vào...dữ liệu sẽ được nhận là các mã ASIIC và xuất lên LCD (ví dụ:khi data là h'30 --> LCD hiển thị số 0)....???mất mấy ngày rùi mà chưa đâu vào đâu. Mong được mọi người góp ý!Thanks!

                  Comment


                  • #10
                    Theo mình có 2 cách để lập trình LCD:

                    1. Dùng State Machine để quay vòng các trạng thái: khởi động, ...

                    2. Dùng chip nhúng để lập trình tuần tự.

                    Xilinx support free core của chip PicoBlaze nên ta có thể lập trình hiển thị LCD đơn giản hơn rất nhiều. Ngôn ngữ lập trình cho PicoBlaze bằng Asm, file được viết dưới đuôi .psm sau đó dịch ra file .vhd định nghĩa ROM cho con PicoBlaze này.

                    Các bạn có thể download tài liệu example này với kit Spartan 3E tại đây:

                    Doc: http://www.xilinx.com/products/board...sk_startup.pdf

                    Zip code: http://www.xilinx.com/products/board...sk_startup.zip

                    Chúc các bạn thành công.
                    Technical sale at WT Microelectronics S'pore
                    Hỗ trợ dự án sử dụng các hãng Texas Instrument, STMicro, Freescale, Fairchild, International Rectifier, Ublox, Lumiled, Maxim
                    Liên hệ: 0915.560.511 hoặc ngo.haibac@wtmec.com

                    Comment


                    • #11
                      uh minh cung dung picoblaze de dieu khien cai thang LCD nay va cung đa thanh cong mot chut,Cac pac cu thu sai xem,hay va tien loi hon viet bang VHDL nhiu

                      Comment


                      • #12
                        Mọi người cho em hỏi, em viết = VHDL, viết dạng state machine, xuất chữ cố định thì em xuất rồi, sau khi xuất em nhảy tại chỗ ở state cuối cùng. Nhưng bây giờ em có 1 cái đồng hồ cần xuất ra, đồng hồ thì chạy liên tục, vậy thì em phải nhảy lên state đọc giờ, hay state set DDRAM (gần đây o lên trường được nên o có KIT để thử >_<)

                        Comment

                        Về tác giả

                        Collapse

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

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

                        Collapse

                        Đang tải...
                        X