Thông báo

Collapse
No announcement yet.

Xin tư vấn đồ án tốt nghiệp FPGA

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

  • #16
    Nguyên văn bởi binh_mta Xem bài viết
    em chào anh jefflieu ạ , hj ! e là sinh viên năm thứ 5 , e đang muốn làm đồ án ứng dụng nào đó về chuyên ngành thông tin (điện tử viễn thông) trên FPGA . A có cái nào hay chỉ cho e với ạ , e cảm ơn a .
    Hiện nay công nghệ truyền thông bằng OFDM rất phổ biến. Bạn có thể xây dựng một hệ thống đơn giản gồm OFDM modulator trên 1 board và DEMODULATOR trên một board.
    Bạn có thể download các core nhỏ và tích hợp lại thành một hệ thống OFDM ...
    Các điểm quan trọng:
    - Phân tích chất lương của kênh truyền của bạn
    - Cách thiết kế trên FPGA
    Chắc bạn cũng cần 2-3 người làm đề án này.

    Cái thứ 2 là công nghệ MIMO, cái này mình hoàn toàn không biết hệ thống của nó có gì, bạn thử tìm hiểu thêm, bạn có thể tìm đọc các thuật toán xử lý trong công nghệ MIMO, mô phỏng trên Matlab trước rồi đem xuống board mạch

    Comment


    • #17
      Nguyên văn bởi dinhnam123 Xem bài viết
      đề tài nhận dạng biển số xe xem sao bạn!^^
      Nếu mà đề án này làm rồi thì cải tiến bằng cách: nhận video stream từ camera khi xe đang di chuyển và nhận dạng biển số, hoặc nhận dạng nhiều phương tiện cùng 1 lúc

      Comment


      • #18
        Bạn có code nào tham khảo không vậy? dinhnam123. Mình muốn tham khảo một số đề tài.

        Comment


        • #19
          Dùng FPGA điều khiển Led Matrix 16x16 ? jefflieu và viethung3i thấy thế nào ?
          Làm vừa sức, đảm bảo tiến độ, làm nổi bật được ưu điểm của FPGA.
          Last edited by vyrin51; 24-01-2013, 01:23.

          Comment


          • #20
            Nguyên văn bởi vyrin51 Xem bài viết
            Dùng FPGA điều khiển Led Matrix 16x16 ? jefflieu và viethung3i thấy thế nào ?
            Làm vừa sức, đảm bảo tiến độ, làm nổi bật được ưu điểm của FPGA.
            Trong khi những cách khác phổ biến và giá thành rẻ hơn có thể làm được việc này (như dùng vi điều khiển thì thừa sức) thì sao lại phải dùng FPGA chỉ để điều khiển ledmatrix? Ưu điểm của FPGA còn nằm ở những tính năng hơn thế nhiều như xử lý âm thanh,hình ảnh,video,board PC nhúng...

            Comment


            • #21
              Nguyên văn bởi e_fan Xem bài viết
              Trong khi những cách khác phổ biến và giá thành rẻ hơn có thể làm được việc này (như dùng vi điều khiển thì thừa sức) thì sao lại phải dùng FPGA chỉ để điều khiển ledmatrix? Ưu điểm của FPGA còn nằm ở những tính năng hơn thế nhiều như xử lý âm thanh,hình ảnh,video,board PC nhúng...
              chào bạn,
              mình không được học về fpga nhưng mình thấy làm sử lý số với fpga thì nhiều thật nhưng
              làm cái lớn thì cũng cần có 1 cái kit lơn mới đủ tài nguyên, và cũng phải cần thời gian lớn,
              nhưng từ giờ đến tốt nghiệp thì chỉ còn < 5 tháng vấn đề các bạn đấy cần 1 cái đề tài nó
              khả thi cả về khả năng làm được + thời gian + phần cứng.
              nhưng nếu chỉ sử lý led matrix 16x16 thì cũng ko lên làm đồ án đại học.

              Comment


              • #22
                hi e_fan. Biết là nhiều vậy, nhưng matrix 16x16 thì thiếu gì trò để làm, quan trọng là làm trò gì nặng nặng để thấy ưu điểm tính toán song song và cách điều xung thế nào, quản lý tài nguyên ra sao... với SV chừng ấy là đủ rồi.
                Đồ án tốt nghiệp nhiều nhất là 6 tháng. Bạn tính thử xem, nếu không lên lớp, không đi thực tập... ngồi cày ngày cày đêm với người mới bắt đầu thì liệu có ổn không.
                Tại sao mình nói bạn đấy làm matrix, vì bạn đã có tìm hiểu khi học, rút bớt thời gian. Linh kiện dể tìm... Khi thực hiện đồ án phải cho thấy được mình có nhiều kỷ năng tìm hiểu, nghiên cứu và kinh nghiệm thực tế trong đó.
                Còn về âm thanh,hình ảnh,video,board PC nhúng và mấy cái IP Core trên mạng ấy thì thiếu gì, không nên ôm một thứ gì quá lớn hoặc quá sức mình, hoặc đi copy của ai đó thì thấy sao sao đấy... để rồi hỏng.
                Nếu bạn làm lại 1 sản phẩm gì đó có tính năng tương tự thì đó chỉ là "mô tả" lại thôi. Khi viết luận văn thì không nên để chữ Thiết Kế vào. Thầy Cô vặn gãy cổ ấy.

                Nói vậy thôi, Làm gì đó vừa tầm, mang tính sáng tạo và tâm huyết của mình. Và quan trọng là tự tay mình mày mò nghiên cứu làm ra. Còn cái đã có rồi thì tham khảo để sinh ra những cái mới hơn...

                Còn nếu bạn thích thích mình chia sẻ cho bạn các Core NAND FLASH giao tiếp USB, VGA, UART, HDMI, Xử lý ảnh... Nhưng làm không xong, hoặc Thầy Cô phản biện hỏi mà không trả lời được thì out đấy....

                Comment


                • #23
                  Code này mình viết lâu rồi. ĐK matrix. Bạn thử tính toán mỗi xung clock thì có bao nhiêu khối làm việc, và các việc tác động với nhau thế nào, và tốn bao nhiêu tài nguyên....
                  Tâm lý của các bạn là muốn làm gì đó to tác. Nhưng Thầy Cô mong ở các bạn là không đi sao chép, tự mình mày mò nghiên cứu và hướng dẫn thêm.

                  Câu hỏi: Bạn hãy tự viết 1 chương trình đọc file bitmap ? Mất thời gian bao lâu, rồi mới tính tiếp xử lý ảnh nó như thế nào ? Đừng đi copy nhé !

                  ------------------------------------------------------------------
                  process (resetn,clock)
                  begin
                  if resetn = '1' then
                  count <= 0;
                  -- elsif rising_edge(clock) then
                  elsif clock'event and clock = '1' then
                  if count = 1000000 then

                  count <= 0;

                  else
                  count <= count + 1;
                  end if;
                  end if;
                  end process;

                  -------------CHONG NHIEU-----------------------------------------
                  process (resetn,clock)
                  begin
                  if resetn = '1' then
                  count_noise <= 0;
                  -- elsif rising_edge(clock) then
                  elsif clock'event and clock = '1' then
                  if count_noise = 500000 then

                  count_noise <= 0;

                  else
                  count_noise <= count_noise + 1;
                  end if;
                  end if;
                  end process ;
                  ---------------DEM TANG-------------------------------------------
                  process (resetn,clock)
                  begin
                  if resetn = '1' then
                  count_inc <= 0;
                  elsif clock'event and clock = '1' then
                  if count_inc = 30000000 then

                  count_inc <= 0;
                  else
                  count_inc <= count_inc + 1;
                  end if;
                  end if;
                  end process ;

                  -----------------DIEU KHIEN CHONG NHIEU---------------------

                  process (resetn,clock)

                  begin
                  if resetn = '1' then
                  clock_div <= '0';
                  elsif clock'event and clock = '1' then
                  if count_noise = 1 then
                  clock_div <= not clock_div;
                  end if;
                  end if;
                  end process ;
                  ----------------TANG DEM------------------------------------------
                  process (clock)
                  begin
                  if clock'event and clock = '1' then
                  if count_inc = 25000000 then
                  ontop <= ontop + 1 ;
                  topbottom <= topbottom + 1 ;
                  else
                  if ontop = 66 then
                  ontop <= 16;
                  topbottom <= 0 ;
                  end if;
                  end if;
                  end if;
                  end process ;
                  ---------------------------------------------------------
                  process (resetn,clock)
                  begin
                  if clock'event and clock = '1' then
                  if count = 1 then
                  select_col <= select_col + 1;
                  else
                  if select_col = ontop then
                  select_col <= topbottom;
                  end if;
                  end if;
                  end if;
                  end process ;
                  ---------------------------------------------------------
                  process (resetn,clock)

                  begin
                  if clock'event and clock = '1' then
                  if count = 1 then
                  if select_row = "1111" then
                  select_row <= "0000";
                  else
                  select_row <= select_row + 1;
                  end if;
                  end if;
                  end if;
                  end process ;
                  ------------------------------------------------------

                  process (clock,clock_div)
                  begin

                  if clock'event and clock = '1' then
                  if clock_div = '1' then
                  out_col <= encoding_i(select_col);
                  else
                  out_col <= encoding_i(0);
                  end if;
                  end if;

                  end process ;

                  --------------------------------------------------------

                  process (clock,select_row)
                  begin
                  if clock'event and clock = '1' then
                  if key1 = '0' and key2 = '0' then
                  case select_row is
                  when "0000" => out_red <= "0000000000000000";
                  when "0001" => out_red <= "0000000000000001";
                  when "0010" => out_red <= "0000000000000010";
                  when "0011" => out_red <= "0000000000000100";
                  when "0100" => out_red <= "0000000000001000";
                  when "0101" => out_red <= "0000000000010000";
                  when "0110" => out_red <= "0000000000100000";
                  when "0111" => out_red <= "0000000001000000";
                  when "1000" => out_red <= "0000000010000000";
                  when "1001" => out_red <= "0000000100000000";
                  when "1010" => out_red <= "0000010000000000";
                  when "1011" => out_red <= "0000100000000000";
                  when "1100" => out_red <= "0001000000000000";
                  when "1101" => out_red <= "0010000000000000";
                  when "1110" => out_red <= "0100000000000000";
                  when "1111" => out_red <= "1000000000000000";
                  when others => null;
                  end case;
                  end if;
                  if key1 = '1' and key2 = '1' then
                  case select_row is
                  when "0000" => out_blue <= "0000000000000000";
                  when "0001" => out_blue <= "0000000000000001";
                  when "0010" => out_blue <= "0000000000000010";
                  when "0011" => out_blue <= "0000000000000100";
                  when "0100" => out_blue <= "0000000000001000";
                  when "0101" => out_blue <= "0000000000010000";
                  when "0110" => out_blue <= "0000000000100000";
                  when "0111" => out_blue <= "0000000001000000";
                  when "1000" => out_blue <= "0000000010000000";
                  when "1001" => out_blue <= "0000000100000000";
                  when "1010" => out_blue <= "0000010000000000";
                  when "1011" => out_blue <= "0000100000000000";
                  when "1100" => out_blue <= "0001000000000000";
                  when "1101" => out_blue <= "0010000000000000";
                  when "1110" => out_blue <= "0100000000000000";
                  when "1111" => out_blue <= "1000000000000000";
                  when others => null;
                  end case;
                  end if;
                  end if;
                  end process ;
                  end Behavioral;

                  Comment


                  • #24
                    Nguyên văn bởi vyrin51 Xem bài viết

                    -------------CHONG NHIEU-----------------------------------------
                    process (resetn,clock)
                    begin
                    if resetn = '1' then
                    count_noise <= 0;
                    -- elsif rising_edge(clock) then
                    elsif clock'event and clock = '1' then
                    if count_noise = 500000 then

                    count_noise <= 0;

                    else
                    count_noise <= count_noise + 1;
                    end if;
                    end if;
                    end process ;
                    Bạn cho mình hỏi tại sao cái này lại có khả năng chống nhiễu, cái biến count_noise của bạn chỉ là đếm số cạnh lên của clock từ 0 tới 500000 thôi mà. mình cũng cần chống nhiễu cho mạch nên bạn có thể giải thích giúp mình nhé. Cám ơn bạn trước

                    Comment


                    • #25
                      Các bạn nói đều có lý.
                      Thực tế là như vầy:
                      - Ở các trường ĐH nước ngoài, rất hiếm đề án năm cuối nào đụng đến phần cứng nói chung và FPGA nói riêng lý do thì như các bạn đã đề ra: mất rất nhiều thời gian và đầu tư. Cho nên FPGA thường được hướng dẫn thông qua các bài lab.
                      - Một khi ông thầy nào có định hướng đề tài sẽ làm về phần cứng, ông thầy đó có sẵn các ý tưởng và thiết bị rồi, làm hết năm này qua năm khác, mỗi năm làm thêm 1 phần của năm trước --> cứ thể làm lên từ từ.

                      Và mình thấy đề án cuối năm ít khi nào ông thầy chấm điểm dựa trên kết quả. Ổng sẽ theo dõi tiến độ, khả năng planning ... của các bạn nói chung là một thời gian dài ... ---> Dựa vào đó mà cho điểm (Lý thuyết là như vậy)

                      Đa số các đề án năm 4 mình thấy toàn làm mô phỏng trên Matlab hoặc PSPICE/HSPICE --> Bạn vận dụng được kiến thức của năm 4 mà không sa đà vào phần tiểu tiết của phần cứng

                      Hy vọng các bạn trao đổi với giáo viên hướng dẫn và có định hướng.

                      Comment


                      • #26
                        Mới thấy một bảng quảng cáo việc làm cho FPGA của một công ty chuyên làm bẳng LED cho các cao tốc

                        Ứng dụng này khá thiết thực cho VN với điều kiện cần hiện đại hóa hạ tầng giao thông.

                        "Thiết bảng LED điều khiển bằng tin nhắn hay công nghệ 3G" có làm được ko?

                        Có bạn nào táo bạo thì làm đi : ứng dụng các bảng điều khiển giao thông trên quốc lộ

                        - Nhận lệnh từ tổng đài qua sms, 3G (gắn sim)
                        - Hiển thị thông tin về giao thông
                        - Tốt nếu như có thể chạy bằng năng lượng mặt trời

                        Ai táo bạo lập cty làm chơi , VN được nhờ

                        Comment


                        • #27
                          Anh Jeff làm đi nhỉ . Cái ứng dụng này nghe qua thấy cũng đơn giản, nhưng em vẫn chưa đủ kiến thức, kinh nghiệm, quan hệ, để làm.

                          Comment


                          • #28
                            Nguyên văn bởi jefflieu Xem bài viết
                            Mới thấy một bảng quảng cáo việc làm cho FPGA của một công ty chuyên làm bẳng LED cho các cao tốc

                            Ứng dụng này khá thiết thực cho VN với điều kiện cần hiện đại hóa hạ tầng giao thông.

                            "Thiết bảng LED điều khiển bằng tin nhắn hay công nghệ 3G" có làm được ko?

                            Có bạn nào táo bạo thì làm đi : ứng dụng các bảng điều khiển giao thông trên quốc lộ

                            - Nhận lệnh từ tổng đài qua sms, 3G (gắn sim)
                            - Hiển thị thông tin về giao thông
                            - Tốt nếu như có thể chạy bằng năng lượng mặt trời

                            Ai táo bạo lập cty làm chơi , VN được nhờ
                            Cho mình hỏi công ty nào vậy ?

                            Comment


                            • #29
                              Công ty ở Úc : J1-LED > About J1-LED

                              Comment


                              • #30
                                Em đang làm Đồ án Thiết kế hệ thống điều khiển ma trận LED dùng công nghệ FPGA.còn khoảng hơn 2 tháng nữa là em bảo vệ mà bây giờ em mới bắt đầu. Em muốn làm đơn giản thôi vì thời gian gấp gáp.em định ghép 4 cái LED 8x8 hiển thị chữ A,B,C,D chẳng hạn.em chưa biết nên bắt đầu viết code như thế nào.Tiền bối nào giúp đỡ em với ạ.

                                Comment

                                Về tác giả

                                Collapse

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

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

                                Collapse

                                Đang tải...
                                X