Thông báo

Collapse
No announcement yet.

VGA trên DE2

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

  • #16
    Nguyên văn bởi phuongnhoc Xem bài viết
    Làm như Danbeo85 thì mình chưa thử. Vì sợ các lý do sau:
    + Cần chuẩn bị sẳn 24 bit màu trước khi có cạnh lên xung Clock để đưa vào VGA. Vì ngay cạnh lên của xung Clock 24bit dữ liệu sẽ được chuyển vào thanh ghi đệm của VGA chip.
    + 24 bit cần được cấp đồng thời. Do vậy bạn cần có cách thanh ghi để chốt dữ liệu cho 2 byte cao và hai byte thấp.
    + Tính toán timming và latency cẩn thận.
    => có vẻ dùng tần số 100Mhz sẽ dễ điều khiẻn hơn vì có dư thời gian cho việc xuất dữ liệu.
    Chỉ là lý thuyết thôi. Mình chưa thực hiện nên không chắc.

    P/s Danbeo85: Hồi xưa làm SDRAM controller chưa vậy. Chỉ cho mình hướng giải quyết với. Sắp tậu được cái kit DE2 rồi.
    Cái này thì phuongnhoc yên tâm nó chạy được. Không cần xung 100 MHz đâu.
    Đơn giản như vầy nha nếu bạn dùng 2 loại clock 25MHz + 50MHz thì có lợi hơn dùng 1 clock duy nhất hay không (50 MHz), câu trả lời là không tốt hơn vì 50MHz gấp đôi 25MHz. Vậy tại sao chúng ta không tạo một bộ hiển thị VGA mà chỉ dùng 50MHz, như thế việc tính toán timing sẽ dễ dàng hơn nhiều.

    Comment


    • #17
      cái sdram controller dùng sopc thiết lập phần cứng rồi viết ct nhúng cho nios được ko bạn danbeo85?

      Comment


      • #18
        Chắc là được đó. Thử xem sao
        Last edited by phuongnhoc; 17-11-2009, 10:10.

        Comment


        • #19
          Hi ruacon52,

          Bạn có thể nói rõ hơn ý tưởng của bạn không? Mình thấy nó hơi mơ hồ.

          Comment


          • #20
            ý tưởng là viết chương trình cho nios điều khiển sdram controller đọc dữ liệu từ sdram, sau đó hiển thị ảnh ra màn hình thông qua vga controller. ko biết là thực hiện có khó không?

            Comment


            • #21
              Hi ruaconb52,

              Ý bạn là dùng nios II như một bộ trung giang dùng để truyền dữ liệu từ sdram sang vga đúng không? Như thế thì không được tốt.
              1) NIOS II trên Cyclone II chỉ nên chạy với tốc độ 100 MHz.
              2) SDR SDRAM Controller chỉ chạy với tốc độ 50MHz. (Cái này bạn phải coi "user guide" của nó). Hình như con DRAM trên DE2 là 16bits thì phài -cái này không chắc lắm bạn xem lại nha!
              3) VGA của bạn 1 xung 25MHz phải có 24bits màu.
              4) Hệ thống được tạo bằng SOPC Builder nên dữ liệu sẽ được lưu thông bằng Avalon Memory Map. Bạn nên tham khảo kỹ cái này.
              Qua các dẫn chứng trên thì bạn thấy rằng không thể coi NIOS II như một công cụ trung gian truyền nhận dữ liệu được.

              Nếu đề tài của bạn là hiễn thị ảnh tỉnh trên VGA. Thì bạn có thể sữ dụng SRAM như một nơi lưu trữ ảnh (256 x 512 <-> màu, còn ảnh gray hay trắng đen thì có thể lấp đầy màn hình). VGA sẽ đọc bộ nhớ này liên tục để hiễn thị ảnh. Đây là ý kiến của mình:
              1) Bạn tạo một bộ SRAM controller có 2 bus: 1 bus dùng liên kết trong SOPC Builder, 1 bus dùng liên thông trực tiếp với VGA controller. Bus 1 sẽ được ưu tiên khi có một master muốn truy suất sram. Bus 2 chỉ có chức năng đọc liên tục dữ liệu từ SRAM và truyền nó cho VGA controller.
              2) Bạn tạo một hệ thống gồm có NIOS II, SDRAM Controller, SRAM Controller (cái này bạn tự viết), VGA Controller. Dùng SDRAM Controller như một bộ nhớ chứa code và dữ liệu của NIOS II. Do bộ nhớ SDRAM là 8MB, nên bạn có thể dùng nó để chứa ảnh (Sau khi đã chuyễn từ (.bmp - header) -> hex (dạng file text) -> .h (thêm 0x), sẽ có 3 file ảnh R + G + B cho 1 ảnh màu). Khi hệ thống khởi động bạn có thể dùng NIOS II khởi động SRAM bằng 3 file .h (NIOS II lập trình bằng C/C++). Sau khi nạp xong thì hình ảnh sẽ được hiển thị trên VGA. Hệ thống này bạn có thể dùng nó cho sau này khi muốn làm luận văn về xữ lý ảnh bằng NIOS II và hiển thị ảnh đã xữ lý trên VGA.

              Đây chỉ là một số ý kiến của mình, hi vọng nó giúp ích được cho bạn. Àh còn một cái này nữa, nếu bạn dùng nios ii thì nên có ở nhà một cái KIT (có thể mượn trường).

              Comment


              • #22
                ý tưởng của mình giống như ý kiến thứ 2 của bạn đó. thật sự là mình chỉ mới làm lần đầu tiên nên cũng chưa hiểu rõ lắm về nguyên lý. thiết lập hệ thống thì mình có thể hiểu còn cách làm hệ thống hoạt động thì vẫn còn mù mờ lắm. nếu bạn có ví dụ nào cụ thể thì có thể cho mình xin để tham khảo được không?
                thanks bạn danbeo85 nhiều.

                Comment


                • #23
                  Tôi thấy trên trang của Altera có IP free về VGA và 1 số thứ khác nữa, gọi là University IP đấy. KHối IP này dành cho Board DÉ và DE2. Bạn down về rồi làm theo hướng dẫn xem. Tôi chỉ có Board Nios2 nên ko thử được.

                  Comment


                  • #24
                    Cái này thì hồi trước mình có làm nhưng lâu rồi không dùng nên xóa rồi! Nếu bạn có quen ai bên khoa điện - bộ môn điện tử của BK thì nhờ bạn đó mượn luận văn của các khóa gần đây, họ làm khá nhiều về đề tài này. Còn nếu không có thì bạn phải tự làm một mình thôi.

                    1) Tạo khối VGA controller, test bằng modelsim, kiễm tra kỹ timing nha. Sau đó dùng bộ này hiễn thị màng hình đơn sắc (đen, trắng, cam, tím, ...). Nếu OK thì chuyển sang bước 2.
                    2) Tạo SRAM controller với 2 port như nói ở trên, kiểm tra bằng modelsim. Do SRAM không thấy có model kèm theo nên bạn chỉ coi dang sóng đầu ra rồi đối chứng với datasheet. Sau đó kiễm tra khối này trên DE2. Nếu OK rồi thì chuyễn sang bước 3. (Bạn có thể tự tạo ra một model SRAM cho mình cũng được, cái này không khó)
                    3) Ghép 2 khối ở trên thành một khối chung có đầu vào là avalon memory map bus, đầu ra gốm 2 phần VGA và SRAM. Cái này bạn làm như ý ở phần trước (avalon bus được ưu tiên nha). Sau đó bạn cũng mô phõng bằng modelsim. Cuối cùng là đổ lên KIT DE2. Hiện tại trong SRAM lúc này không không có hình gì hết do đó bạn sẽ thấy toàn là hột mà thôi. Để kiễm tra phần này, bạn nên tạo một file nạp sram trước sau đó dùng "Không nhớ tên hình như là Control Panel - chương trình kiễm tra KIT DE2 nằm trong đĩa DE2 System" để nạp dữ liệu trước, nhớ đừng tắt điện hay khởi động lại KIT nha!. Sau đó nạp khối bạn cần kiễm tra vào, bạn sẽ thấy hình nằm trên VGA. Nếu OK thì bạn là tiếp bước 4.
                    4) Khai báo phần ở bước 3 là một thành phần trong SOPC (Cái này tham khảo Quartus II HandBook). Sau đó tạo hệ thống gồm có NIOSII, SDRAM Controller, khối bạn mới khai báo. Tỗng hợp và đổ xuống KIT. Bước tiếp theo là lập trình NIOS II. (Cái này bạn tham khảo những ví dụ trong Quartus II HandBook, và một số tài liệu về SOPC + NIOS II). (Nhớ chuẩn bị 3 file .h cần thiết nha). Đến đây bạn tự phát triễn tiếp nha!

                    Nếu đề tài của bạn chỉ dừng lại ở chổ hiễn thị ảnh thì đến bước 3 bạn có thể dừng. Nếu bạn muốn phát triễn tiếp hệ thống cho luận văn thì hãy làm đến bước 4. Nếu bạn muốn thay đổi ảnh mà không muốn lập trình lại hệ thống thì mình nghĩ bạn nên wan tâm đến giao tiếp máy tính (thông qua USB - do RS232 tốc độ thấp, bạn truyền ảnh màu sẽ rất lâu nếu ảnh lớn) hay đơn giản hơn là bạn giao tiếp thẻ nhớ, đọc hình bmp và tự cắt header bằng nios II, sau đó hiễn thị nó lên VGA bằng cách ghi dữ liệu lên SRAM.

                    Lưu ý: Khi viết phần cứng nên mô phỏng nó cẩn thận trươc khi nạp lên FPGA nha. Modelsim-Altera Web Edition là phiên bản miễn phí đó, bạn lên www.altera.com download nha! Hiện tại Quartus II 9.1 Web Edition đã có (Nó cũng Free, nhưng dung lượng lớn, khi chạy thì hơi nặng bạn nên cân nhắc khi dùng nó). Ah, còn một điều lưu ý nữa là nếu dùng NIOS II thì bạn nên dùng cùng phiên bản với Quartus II nha.

                    Đây chỉ là ý kiến của mình, hi vọng nó sẽ giúp ích cho bạn nha!

                    Comment


                    • #25
                      Nguyên văn bởi vqsktdt Xem bài viết
                      Tôi thấy trên trang của Altera có IP free về VGA và 1 số thứ khác nữa, gọi là University IP đấy. KHối IP này dành cho Board DÉ và DE2. Bạn down về rồi làm theo hướng dẫn xem. Tôi chỉ có Board Nios2 nên ko thử được.
                      Hi vqsktdt,
                      University IP cũng là một ý tưởng tốt cho các bạn làm đề tài này nữa. Đơn giản nó free. Nếu đã gọi là IP thì nó có thể chạy được hầu hết các board. Bạn cứ tham khảo nó đi, mình nghĩ nó cũng OK với KIT NIOS II (Cyclone II, Stratix II, Cyclone III).

                      Comment


                      • #26
                        nếu sử dụng sopc có nios 2 thì có mô phỏng được không vậy bạn danbeo85?
                        có 1 người bạn gửi cho mình 1 project về hiển thị ảnh đọc từ thẻ nhớ cũng giống như bạn đề cập ở trên, chỉ khác là đọc ảnh jpeg chứ ko phải ảnh bitmap. mình định nạp xuống kit de2 để text thử mà ko biết nạp file nào xuống. nhờ bạn danbeo85 chỉ hộ với.
                        các file của mình là: alloc.c, color.c, dir.c, fast_int_idct.c, fat.h, fat_main.c, fcntl.h, file.c, hello_world.c, huffman.c, input_array.c, jpeg.c, jpeg.h, mmc.c, mmc_header.h, ondisk.h, open.c, parse.c, spy.c, tree_vld.c, utils.c, volume.c

                        Comment


                        • #27
                          các file này nằm trong folder software->lab3_vga_software.

                          Comment


                          • #28
                            Hi ruacon52,

                            Thực tế thì việc mô phỏng nios II là được nhưng máy bạn phải mạnh một chút vì đây là mô phỏng cho một hệ thống mà(Đọc trong hướng dẫn về nios ide). Còn về các file .c, bạn hãy tập làm một ví dụ đơn giản về nios II đi bạn sẽ làm được(tài liệu có trên altera.com). Còn về cái dự án đọc jpeg thì bạn nên hỏi kỹ hơn tác giả, vì nó còn phụ thuộc nhiều thứ khác mà chỉ có tác giả nắm được.

                            Comment


                            • #29
                              mấy huynh ơi!tình hình là em làm nén ảnh JPEG2000 đến giai đoạn hiển thị ảnh lên VGA anh em co làm rồi chỉ mình với hay cho mình code luôn nha vì thầy nói chỉ cần xài thôi ko cần viết cái chính là nén ảnh!
                              mình muốn hiển thị ảnh BMP gray 256x256 lưu trong sram lên VGA,Cám ơn anh em!chúc anh em noel an lành!

                              Comment


                              • #30
                                Hi babyboy,

                                Bạn có thể tìm thấy code VGA trên altera.com, hay trên đĩa DE2 System (đĩa kèm theo KIT DE2). Còn bạn muốn nạp hình lên SRAM thì bạn có thể dùng chương trình Control Panel trên đĩa DE2 System (nhớ cắt header của file bmp trước khi nạp nha).

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X