Thông báo

Collapse
No announcement yet.

Ram ngoài tốc độ cao?

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

  • Ram ngoài tốc độ cao?

    Các bác có biết con ram nào trên thị trường có thể giao tiếp được với AVR khi chạy với tốc độ 16MHz không?
    Hiện nay tôi đang dùng con HM62256, nhưng nó không đáp ứng với tốc độ của AVR khi chạy với thach anh 16M.
    Tra datasheet thì các con tương tự củng không đáp ứng được.
    Bác nào gặp vấn đề này rồi thì cho chút kinh nghiệm.
    Cám ơn nhiều!

  • #2
    Ủa nó bị lỗi sao? Mình dùng TA 12MHz với DS1230Y-70 chạy ngon mà. 16MHz thì chưa thử.
    AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
    Xem thêm tại Online Store ---> Click here
    Mob: 0982.083.106

    Comment


    • #3
      Không đáp ứng OUTPUT ENABLE. Tức là ghi vào không biết được không nhưng mà đọc ra thì không được.

      Comment


      • #4
        Nguyên văn bởi big_sky Xem bài viết
        Không đáp ứng OUTPUT ENABLE. Tức là ghi vào không biết được không nhưng mà đọc ra thì không được.
        Nếu dùng TA 12M thì có chạy đc ko?
        AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
        Xem thêm tại Online Store ---> Click here
        Mob: 0982.083.106

        Comment


        • #5
          8M thì được. 12 thì không được.
          Không biết với con ds1230y thì như thế nào.

          Comment


          • #6
            AVR khi giao tiếp với bộ nhớ ngoài có thể cấu hình thêm wait states để kéo dài các sự kiện bus. Nếu tôi nhớ không nhầm thì có thể wait thêm tối đa 2 clock cycle. Do đó nếu 8MHz ok thì sẽ ổn với 16MHz thôi.
            Thân mến,
            blackmoon.

            Comment


            • #7
              Bạn cho thử sơ đồ lên coi. Cái này đã làm mạch thật chưa?
              AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
              Xem thêm tại Online Store ---> Click here
              Mob: 0982.083.106

              Comment


              • #8
                Chỉ mới mô phỏng Protues thôi, đang trong quá trình thiết kế...
                AVR khi giao tiếp với bộ nhớ ngoài có thể cấu hình thêm wait states để kéo dài các sự kiện bus. Nếu tôi nhớ không nhầm thì có thể wait thêm tối đa 2 clock cycle. Do đó nếu 8MHz ok thì sẽ ổn với 16MHz thôi.
                Thân mến,
                blackmoon.
                Cái này thì được nè nhưng mà phải chịu trễ vài chu kỳ máy...

                Comment


                • #9
                  Nguyên văn bởi big_sky Xem bài viết
                  Chỉ mới mô phỏng Protues thôi, đang trong quá trình thiết kế...
                  Biết mà.
                  Thôi ko bàn luận nữa.
                  Mời các bác cứ tiếp tục.
                  AVR đã quay trở lại: ATMEGA32: 66k, ATMEGA8A: 30k, ATMEGA48: 30k.
                  Xem thêm tại Online Store ---> Click here
                  Mob: 0982.083.106

                  Comment


                  • #10
                    Tức là sao?
                    Tôi xem datasheet thấy nó cũng không đáp ứng được mà.
                    Nếu làm mạch thật mà không chạy được thì có phải quá tốn kém không (phải làm lại hết)?
                    Nếu bác có kinh nghiệm thì cho vài lời khuyên chứ.
                    Thú thực trước giờ không làm tới tốc độ thế này (chỉ mới làm 4M thôi). Nhưng ứng dụng này cần tốc độ cao, không thì phải thêm 1 con VXL nữa...

                    Comment


                    • #11
                      Nguyên văn bởi big_sky Xem bài viết
                      Tức là sao?
                      Tôi xem datasheet thấy nó cũng không đáp ứng được mà.
                      Nếu làm mạch thật mà không chạy được thì có phải quá tốn kém không (phải làm lại hết)?
                      Nếu bác có kinh nghiệm thì cho vài lời khuyên chứ.
                      Thú thực trước giờ không làm tới tốc độ thế này (chỉ mới làm 4M thôi). Nhưng ứng dụng này cần tốc độ cao, không thì phải thêm 1 con VXL nữa...
                      access time của nó là từ 55ns-85ns. 1 MC cycle của bác là 125ns rồi. Vậy thì phải được chứ?

                      Không thì coi thử mấy con này có bán ở VN không. Access time từ 15ns-55ns.
                      http://www.mincotech.com/memory.php?page=sram

                      Comment


                      • #12
                        Một chu kỳ máy là 62,5 ns chứ, thạch anh 16M mà (1/16).
                        Nhưng quan trong là tín hiệu từ chân OE của nó tức là từ chân RD của AVR phải lớn hơn 35ns thì mới đọc được dữ liệu.
                        Với 62,5 ns mà phải làm rất nhiều việc trong lúc truy xuất bộ nhớ ngoài:
                        Ví dụ lúc đọc dữ liệu từ bộ nhớ ngoài:
                        - Đưa địa chỉ ra các chân port.
                        - Tạo xung ngay chân ALE.
                        - Kéo chân RD xuống mức thấp.
                        - Đọc dữ liệu từ Data về.
                        Như vậy thời gian từ lúc kéo chân RD xuống mức thấp tới lúc đọc dữ liệu thì chắn chắn nhỏ hơn 35ns. --> Ram 62256 không đáp ứng được.
                        Nếu có con ram Access time từ 15ns-30ns thì chắc là được. Nhưng không biết có bán không?

                        Comment


                        • #13
                          Nguyên văn bởi big_sky
                          Một chu kỳ máy là 62,5 ns chứ, thạch anh 16M mà (1/16).
                          Đúng. Đương nhiên tính cho trường hợp không chia XTAL.

                          Nhưng:
                          Nguyên văn bởi big_sky
                          Với 62,5 ns mà phải làm rất nhiều việc trong lúc truy xuất bộ nhớ ngoài:
                          Ví dụ lúc đọc dữ liệu từ bộ nhớ ngoài:
                          - Đưa địa chỉ ra các chân port.
                          - Tạo xung ngay chân ALE.
                          - Kéo chân RD xuống mức thấp.
                          - Đọc dữ liệu từ Data về.
                          ... thì sai. Vì các lệnh truy xuất bộ nhớ SRAM (dù là internal hay external, dù là direct hay indirect) đều tốn nhiều hơn 1 chu kỳ máy đối với ATmega128. Bạn có thể tham khảo Instruction set của AVR để xác minh.

                          Do đó bạn kết luận:
                          Nguyên văn bởi big_sky
                          Như vậy thời gian từ lúc kéo chân RD xuống mức thấp tới lúc đọc dữ liệu thì chắn chắn nhỏ hơn 35ns.
                          cũng là sai. Trong datasheet của ATmega128, bạn có thể tham khảo phần External Data Memory Timing ở gần cuối (khoảng trang 328) để thấy rằng ngay cả khi waitstate = 0 thì giá trị min của thông số RD Pulse Width cũng được tính = 1 chu kỳ máy - 10ns, tức là khoảng 115ns với thạch anh 8M, và khoảng 52.5ns với thạch anh 16M.

                          Bạn có lý của bạn khi muốn mô phỏng trước khi làm mạch thật. Nhưng moderator VNarmy cũng rất có lý khi ám chỉ rằng các bạn không nên quá lạm dụng mô phỏng, đặc biệt đối với những trường hợp nhạy cảm đòi hỏi sự chính xác nhất định như trường hợp của bạn, vì khoảng cách giữa mô phỏng và thực tế là không nhỏ.

                          Hy vọng đã phần nào giải đáp giúp được thắc mắc của bạn.

                          Thân mến,
                          blackmoon.
                          Last edited by blackmoon; 10-07-2009, 17:25.

                          Comment


                          • #14
                            Quá hay! Đã giải đáp được thắc mắc.
                            ... thì sai. Vì các lệnh truy xuất bộ nhớ SRAM (dù là internal hay external, dù là direct hay indirect) đều tốn nhiều hơn 1 chu kỳ máy đối với ATmega128. Bạn có thể tham khảo Instruction set của AVR để xác minh.
                            Cái này tôi sơ ý quá.



                            Do đó bạn kết luận:

                            Trích:
                            Nguyên văn bởi big_sky
                            Như vậy thời gian từ lúc kéo chân RD xuống mức thấp tới lúc đọc dữ liệu thì chắn chắn nhỏ hơn 35ns.

                            cũng là sai. Trong datasheet của ATmega128, bạn có thể tham khảo phần External Data Memory Timing ở gần cuối (khoảng trang 328) để thấy rằng ngay cả khi waitstate = 0 thì giá trị min của thông số RD Pulse Width cũng được tính = 1 chu kỳ máy - 10ns, tức là khoảng 115ns với thạch anh 8M, và khoảng 52.5ns với thạch anh 16M.
                            Cho nên cái này quá sai.



                            Bạn có lý của bạn khi muốn mô phỏng trước khi làm mạch thật. Nhưng moderator VNarmy cũng rất có lý khi ám chỉ rằng các bạn không nên quá lạm dụng mô phỏng, đặc biệt đối với những trường hợp nhạy cảm đòi hỏi sự chính xác nhất định như trường hợp của bạn, vì khoảng cách giữa mô phỏng và thực tế là không nhỏ.
                            Cái này thì tôi đúng 50%. Bác VNarmy đúng hoàn toàn.

                            Quả đúng là cao thủ!
                            Cám ơn nhiều.

                            Comment


                            • #15
                              Các bác cho ý kiến thử nếu mình use avr128 giao tiếp với 2 con ram128k CY62128E (=256k).
                              - Dùng 1 con chốt 573.
                              - Dùng 16 đường địa chỉ nối trực tiếp với avr128, còn 1 đường lựa chọn mức địa chỉ cao, thấp.
                              - Dùng 2 chân VDK để chọn chip Ram.
                              Các bác cho ý kiến giúp nhé, làm vậy có rắc rối j ko?
                              Thanks!
                              Nguyen Sinh_ 01689.660.922

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X