|
先上传芯片数据手册吧点击此处下载 ourdev_643603HLLVCD.pdf(文件大小:550K) (原文件名:UCS1903.pdf)
做的LED像素灯,这个芯片可以级联1024个。
大家可以看他的芯片操作用的是单总线,归零的编码方式。
数据格式
(原文件名:QQ截图未命名.png)
为了达到他的高速模式即800khz
我想这么做,我们用cortex-m0来做,
第一:如果用定时器来模拟IO 800Khz的翻转,前面马潮马老师有一篇文章介绍用IO实现1MHZ的方波,定时器模拟IO翻转肯定是不可能的。pass
第二:就是用软件延时来做IO的翻转从而实现数据的发送,感觉这么做很耗时。pass
第三:我想用uart来模拟单总线的方式,这个比18B20的要简单的多,18B20要考虑双向通信,而目前的芯片是只收不发的,这就简单很多了,单片机的uart有6,7,8,个数据位加1个或者2个停止位,那么现在可以设计加停止在内的一共8个bit来表示现在的 单总线通信的1个bit,现在问题来了根据单片机的数据手册最大的波特率为921600,那么921600/8,单总线的频率只有100多k达不到我操作800KHZ的要求。pass
第四:我想用SPI总线来模拟这个单总线的操作,SPI一次发送的数据为16,24,32bit,用其中的8bit来表示现在单总线的1个bit应该没有问题,spi的只用其中MOSI这根线,根据数据手册来看要想SPi的速度达到800K*8= 6.4M 或者 低速模式 400K*8= 3.2M应该是问题不大了
以上是我的个人想法,请各位评判一下最后的方案如何?我现在只能等到芯片到了 再测试方案是不是行得通了。
如果大伙有好的想法,希望不吝赐教,感谢 |
阿莫论坛20周年了!感谢大家的支持与爱护!!
月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!
|