Thông báo

Collapse
No announcement yet.

Mini2440 GPIO frequency

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

  • Mini2440 GPIO frequency

    Chào các anh,
    Qua các bài viết thì em thấy có nhiều anh đã tìm hiểu về ARM cũng như board mini2440.
    Hiện em đang có một board mini2440 và đang chạy WINCE 6.0. Qua tìm hiểu thì em thấy tốc độ xử lý của ARM rất cao (400MHz) nhưng khi em ON/OFF 1 I/O liên tục thì chỉ nhận được tần số ~50 Khz.
    Anh nào có thể cho em biết tần số tối đa khi đổi trạng thái của GPIO là bao nhiêu? Và cách thực hiện.

    Mong được sự giúp đỡ của các anh
    Cám ơn rất nhiều!

  • #2
    Nguyên văn bởi Judau Xem bài viết
    Chào các anh,
    Qua các bài viết thì em thấy có nhiều anh đã tìm hiểu về ARM cũng như board mini2440.
    Hiện em đang có một board mini2440 và đang chạy WINCE 6.0. Qua tìm hiểu thì em thấy tốc độ xử lý của ARM rất cao (400MHz) nhưng khi em ON/OFF 1 I/O liên tục thì chỉ nhận được tần số ~50 Khz.
    Anh nào có thể cho em biết tần số tối đa khi đổi trạng thái của GPIO là bao nhiêu? Và cách thực hiện.
    Mong được sự giúp đỡ của các anh
    Cám ơn rất nhiều!
    tốc độ cao thì chẳng liên quan gì đến Tần số đầu ra cả ... Thông thường tần số cao ( gọi là cao chứ nó rất thấp ) thì phải cần module cứng như PWM ( hoặc sử dụng ngắt timer chẳng hạn ) tuy nhiên để đưa ra được tần số cao thì bản thân con chip ( các cổng I/O phải chịu được với cái tần số đó )
    --- Nếu MCU có tốc độ cao ... mà đưa ra được tần số cao ( I/O ) thì những nhà sản xuất chip DDS húp cháo !

    Để đưa được tần số cao chí ít cấu trúc phải cứng hóa ví như mấy dòng CPLD , FPGA , PLD chẳng hạn ... ( tuy gọi là cao nhưng cũng chẳng cao )
    Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

    Comment


    • #3
      Vậy anh có thể cho em biết khi on/off liên tục I/O của con này thì tần số tối đa có thể là bao nhiêu ko? Em chỉ thu được tần số 50KHz

      Comment


      • #4
        mini2440 chạy CPU s3c2440 (arm9) thuộc dòng CPU chạy ứng dụng xử lý, không phải là dạng vi điều khiển.
        Vì thế thông số trong datasheet cũng không đề cập tới vì thực tế chẳng ai quan tâm. Tuy nhiên có một quy định không thành văn là tần số on/off sẽ nằm trong khoảng 100khz có thể cao hơn hay rất thấp hơn tùy thộc vào chân nào của CPU được sử dụng ? CPU chạy ứng dụng hệ điều hành (OS) gì bên trong nó ? có OS hay không ? cách thức điều khiển như thế nào ? trực tiếp phần cứng không có OS ? qua API của một OS? qua drivers ?.....
        Từ chối trách nhiệm:
        Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
        Blog: http://mritx.blogspot.com

        Comment


        • #5
          Em đang sử dụng Win CE 6.0 và sử dụng driver. Như vậy sẽ hạn chế tốc độ của nó. Em đã tác động lên driver nhưng cũng không khả quan. Nếu viết bằng API thì có nhanh hơn ko anh? Nếu có thì anh có thể hướng dẫn em được không? Em đang rất cần!
          Cám ơn anh rất nhiều

          Comment


          • #6
            Nhanh là cần nhanh tới mức nào ?
            Từ chối trách nhiệm:
            Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
            Blog: http://mritx.blogspot.com

            Comment


            • #7
              Vì em chép dữ liệu tần số cao có thể lên >10MHz, như vậy có được không anh? cám ơn anh nhiều.

              Comment


              • #8
                Theo em được biết thì dòng ARM nó là vi xử lý chứ không phải là vi điều khiển dạng MIPS. Nên tốc độ bao nhiêu MHz ấy nó quyết định khả năng tính toán nội chip. Nếu bác lập trình trực tiếp được dựa trên tập lệnh của con ARM thì chắc có thể chạy được nhanh hơn đôi chút. Cũng giống như PC ý. CPU xung nhịp cao ngất, nhưng thằng windows nó cắt các lệnh xử lý ra đều nhau tầm vài ms 1 lệnh thì có lập trình đến giời cùng khó chạy nhanh được.

                Comment


                • #9
                  Nguyên văn bởi Judau Xem bài viết
                  Vì em chép dữ liệu tần số cao có thể lên >10MHz, như vậy có được không anh? cám ơn anh nhiều.
                  Nguyên văn bởi l0ck Xem bài viết
                  Theo em được biết thì dòng ARM nó là vi xử lý chứ không phải là vi điều khiển dạng MIPS. Nên tốc độ bao nhiêu MHz ấy nó quyết định khả năng tính toán nội chip. Nếu bác lập trình trực tiếp được dựa trên tập lệnh của con ARM thì chắc có thể chạy được nhanh hơn đôi chút. Cũng giống như PC ý. CPU xung nhịp cao ngất, nhưng thằng windows nó cắt các lệnh xử lý ra đều nhau tầm vài ms 1 lệnh thì có lập trình đến giời cùng khó chạy nhanh được.
                  * MPIS và ARM đều có lõi cho vi điều khiển và dạng CPU xử lý ứng dụng, hãy chú ý đến tên của từng loại lõi. Trước đây MIPS còn cạnh tranh thị trường PC với chip Intel mà PC của bạn đang chạy.
                  * >10Mhz thì phải sử dụng IC chuyên dụng hay dùng FPGA, GAL, PAL, CPLD để tạo ic chuyên dụng tuy nhiên với các dòng này thì chỉ có một số ít dòng mới có thể đáp ứng được nhu cầu trên. Hiện tại với trình độ hiểu biết và tầm nhìn của ITX thì chưa thấy bất kì CPU nào có GPIO >10Mhz được, lưu ý là >10Mhz thì có thể dùng chân GPIO đó phát sóng radio AM hay thậm chí FM.
                  * Nếu có một CPU nào có GPIO > 10Mhz thì chắc chắn cũng không nên sử dụng vì lúc đó 100% CPU chỉ dùng để on/off, toàn bộ phần còn lại thì tê liệt hoàn toàn. Tức là đem nguyên con ARM9 chỉ dùng để nháy led

                  ps: bổ xung thêm ý này.
                  Để chép data thì có thể sử dụng đến các chuẩn như I2C, SPI, USART, USB.... sẵn có trong CPU vì đây là các modum được tích họp trong cpu (ic chuyên dụng ) nên có thể chép dữ liệu ở tốc độ cao mà không ảnh hưởng đến hiệu suất CPU, còn GPIO do chính lõi CPU điều khiển.
                  Đưa thêm một ví dụ cho em dễ hiểu em đã bao giờ làm software USART cho PIC 8bit, AVR, ARM chưa ? hiệu suất nó thế nào ? ví dụ này tương đương cho bài toán của em.
                  Last edited by itx; 18-01-2012, 11:06.
                  Từ chối trách nhiệm:
                  Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                  Blog: http://mritx.blogspot.com

                  Comment


                  • #10
                    Cám ơn anh itx và lock đã chỉ dẫn,
                    Em đang gặp vấn đề trong việc tao xung hình thang trong đó cạnh hình thang là 2us thông qua 1 DAC 10 bit. Em nối 10 bit dữ liệu song song với DAC, muốn tạo được cạnh hình thang 2us thì các bit dữ liệu phải được xuất ra IO (on/of) với tần số cao. Theo như anh nói nếu cho CPU chạy 100% (trong 1 thời gian ngắn) thì có thể đạt được tần số đó không anh?
                    Nếu được thì làm cách nào để CPU chạy 100% tốc độ?
                    Cám ơn anh nhiều

                    Comment


                    • #11
                      Nguyên văn bởi itx Xem bài viết
                      * MPIS và ARM đều có lõi cho vi điều khiển và dạng CPU xử lý ứng dụng, hãy chú ý đến tên của từng loại lõi. Trước đây MIPS còn cạnh tranh thị trường PC với chip Intel mà PC của bạn đang chạy.
                      * >10Mhz thì phải sử dụng IC chuyên dụng hay dùng FPGA, GAL, PAL, CPLD để tạo ic chuyên dụng tuy nhiên với các dòng này thì chỉ có một số ít dòng mới có thể đáp ứng được nhu cầu trên. Hiện tại với trình độ hiểu biết và tầm nhìn của ITX thì chưa thấy bất kì CPU nào có GPIO >10Mhz được, lưu ý là >10Mhz thì có thể dùng chân GPIO đó phát sóng radio AM hay thậm chí FM.
                      * Nếu có một CPU nào có GPIO > 10Mhz thì chắc chắn cũng không nên sử dụng vì lúc đó 100% CPU chỉ dùng để on/off, toàn bộ phần còn lại thì tê liệt hoàn toàn. Tức là đem nguyên con ARM9 chỉ dùng để nháy led

                      ps: bổ xung thêm ý này.
                      Để chép data thì có thể sử dụng đến các chuẩn như I2C, SPI, USART, USB.... sẵn có trong CPU vì đây là các modum được tích họp trong cpu (ic chuyên dụng ) nên có thể chép dữ liệu ở tốc độ cao mà không ảnh hưởng đến hiệu suất CPU, còn GPIO do chính lõi CPU điều khiển.
                      Đưa thêm một ví dụ cho em dễ hiểu em đã bao giờ làm software USART cho PIC 8bit, AVR, ARM chưa ? hiệu suất nó thế nào ? ví dụ này tương đương cho bài toán của em.
                      bạn thử mang con ARM9 ra rồi on/off xem đầu ra nó được nổi bao nhiêu ??? ( chỉ có 2 lệnh on/off )
                      Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                      Comment


                      • #12
                        Ý anh là viết trên ứng dụng hay là trên driver hay ở đâu? nếu viết trên ứng dụng thì em chỉ thu được tần số 50 KHz, trên driver thì có được tần số 2Mhz.

                        Comment


                        • #13
                          Nguyên văn bởi queduong Xem bài viết
                          bạn thử mang con ARM9 ra rồi on/off xem đầu ra nó được nổi bao nhiêu ??? ( chỉ có 2 lệnh on/off )
                          Ý là đem con arm9 lập trình thẳng bằng asm chỉ chạy 2 lện thôi đó mà (không os .driver, api gì ráo fw thôi). Nói vậy thôi ARM9 không lập trình theo kiểu đó được đâu.

                          PS:
                          Bài toán của em sao không mua 1 con DAC tốc độ cao mà làm muốn xuất hình dáng quái nào chẳng được, để hiệu năng cpu cho ứng dụng khác. ?

                          ADD:
                          Nếu không cần xuất data ra DAC liên tục thì có thể sử dụng giải pháp đệm ram: data ->(chậm)-> ram cho đến khi đện đủ-> ram ->(nhanh)-> DAC. Bật mý thêm là cách thức, sơ đồ nguyên lý 80% giống như mấy cái bo led nháy dùng ROM.
                          Last edited by itx; 18-01-2012, 14:44. Lý do: ps
                          Từ chối trách nhiệm:
                          Mọi thông tin từ ITX cung cấp với hi vọng nó có ích và không đi kèm với bất kì sự bảo đảm nào.
                          Blog: http://mritx.blogspot.com

                          Comment


                          • #14
                            e đang sử dụng 1 con DAC 10 bit đó. Muốn được cạnh hình thang 2us thì phải xuất 10 bit từ ARM ra liên tục tần số cao thì mới có được dạng mong muốn nhưng mỗi lần xuất 10 bit ra pin thì chậm nên không đáp ứng được yêu cầu! Anh có cách nào chỉ e với. Cám ơn anh

                            Comment


                            • #15
                              Nguyên văn bởi itx Xem bài viết
                              Ý là đem con arm9 lập trình thẳng bằng asm chỉ chạy 2 lện thôi đó mà (không os .driver, api gì ráo fw thôi). Nói vậy thôi ARM9 không lập trình theo kiểu đó được đâu.

                              PS:
                              Bài toán của em sao không mua 1 con DAC tốc độ cao mà làm muốn xuất hình dáng quái nào chẳng được, để hiệu năng cpu cho ứng dụng khác. ?

                              ADD:
                              Nếu không cần xuất data ra DAC liên tục thì có thể sử dụng giải pháp đệm ram: data ->(chậm)-> ram cho đến khi đện đủ-> ram ->(nhanh)-> DAC. Bật mý thêm là cách thức, sơ đồ nguyên lý 80% giống như mấy cái bo led nháy dùng ROM.
                              nó là processor bạn embed os vào chứ . chạy linux cho nhẹ .

                              Mấy con đã qua phần mềm thì đa phần đều khó có thể xuất out cao được
                              Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com

                              Comment

                              Về tác giả

                              Collapse

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

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

                              Collapse

                              Đang tải...
                              X