AVR,DSP,C8051F,89C51,PIC,MSP430,Aduc812等单片机的IO端口速度分别是多少?
AVR,DSP,C8051F,89C51,PIC,MSP430,Aduc812,LPC213x,at91sam7s64,等单片机的IO端口速度分别是多少?在系统设计时,难免要碰到外设的数据输入输出,这个时候所选用的单片机的IO口最大输入输出速度就显的非常重要,大家是否有这方面的测试数据?只是大概知道89C51肯定是最慢的了,AVR好像也不快,估计也就是2M以内吧,7s64测试过大约是3-5M,是否有了解的兄弟一起来填充一下这个数据,我想肯定对很多初学者非常有用的。 貌似知道具体数据的人很少阿! 查一下IO的CLOCK.芯片的规格书内有说明。 "单片机的IO口最大输入输出速度"是什么概念?LZ先交代清楚。 也就是说如果将IO引脚配置为输入的话,那么允许输入该引脚的外部信号的最高频率且单片机可以不丢失数据而准确的检测到引脚的高低电平的变化,相对应的如果配置为输出的话,且输出高低电平变化的信号,该信号的最高频率。 同样的问题,我和同事都估计在1M左右。 其实都没好好去分析过。。。 ST说它的STM32(Cortex-M3 Core)的IO最大可以做到50MHz。
http://cache.amobbs.com/bbs_upload782111/files_8/ourdev_178140.jpg 50M,是1和0的交替输出,
假如AVR用来驱动LCD,640*480,16位数据(D0~D15),加上Hs,Vs等信号,并行总线16位对AVR来说,肯定不能用了,只能用普通IO 口模拟,RGB都是6bit,即18bit点亮1个pixel, 行吗? 难不成大家都没有仔细考虑过这个问题啊?应该不会的阿!以前就在选型的时候老是碰到类似需要确定端口速度的问题,也都是大概的估算,没有仔细看过,如果有做过这方面工作的仁兄,那真是功德无量啊,最好能将大多数主流的控制器都归纳起来,那就非常有用了! 这没什么意义,IO口操作的速度和指令、程序长度有关,上1M建议用FPGA或CPLD 关注... STM32 1/4 sysclk
AVR 1/2 sysclk
avr32 1/2 sysclk To 8#
具体情况具体分析。
对于ARM之类的,内部有总线仲裁的情况, 最高IO输出翻转速度和处理器频率,总线频率都有关系。
而且,通常这个输出速度是在没有中断,没有任何背景操作【DMA】,汇编指令连续操作的情况下达到的。有个跳转之类的指令,都可能导致输出的频率直接/2。如果是用C写的代码,那输出速度就很难说清楚了。
至于输入最高能检测到的频率,也是同上。如果对于等间隔采样有比较高的要求,建议依赖带有DMA的硬件外设,比如SPI,比如SSC一类的,更高速度的就考虑FPGA吧。
IO操作,总要有代码与内存读写数据吧,还要有一些判断什么的吧,这些操作都会让IO操作中断。
所以说,评价这个没有太大的意义。
况且,如果真的硬件系统严重依赖于IO口翻转速度,我觉得设计的时候就没有考虑全面。 CPU不适合用在IO控制要求比较严格的地方,建议使用FPGA。 9楼正解 我做过极限情况,19.68MHz晶振,用PWM模式输出4.92MHz方波(4分频) 理论数据都靠不住
我测了一些STC89C52的大概是300K
atmega16和430F149的是1M左右 这个问题我也遇到过……
有个RFID项目中的低频段需要输出125KHZ的方波,为了省成本我就选择一个STC89C52,结果我怎么测,也只能测到10K的波形(示波器100M),最后看到有人说是端口自身的局限,于是我果断换了一个STM32F103C8T6,输出125K波形相当完美……
我觉得这个问题在选型时是有必要考虑的…… 正为这个问题 患愁呢。 必须考虑这个问题,特别是作为输入口的时候。 http://cache.amobbs.com/bbs_upload782111/files_48/ourdev_699704V5769J.png
(原文件名:C8051F速度.png) 我也碰到类似情况,使用F149输出的最高频率只能到123KHz左右 学习了。。。。 AVR在8M工作主频下,IO反转频率可达2M,这个我试过,已经是极限了,IO指令是2个时钟周期的。 这个其实和PCB还是有一定关系的,呵呵,得看看你的IO口驱动的电路是什么,我觉得不同电路可能速度都不一样。一般数据手册上都有写吧。 用过51输出方波,最快是2.8K左右。另外用过STM32是50M 我觉得只需要列出位数,指令周期和最大晶振这三个参数就够了吧
就只说51单片机,不同型号差距都不止一点点... 不可能129才123K 官方手册上面定时器可以捕获的50ns 怎么可能123K8M的系统时钟都可以输出 MSP430的速度7.5MHz
页:
[1]