【转】什么是SPI的bitbang / bit bang / bit-bang / bitbanging
来源:互联网 发布:淘宝坑卖家 编辑:程序博客网 时间:2024/04/30 03:21
【整理】什么是SPI的bitbang / bit bang / bit-bang / bitbanging
在了解了基本的SPI之后,在Linux内核源码里面,发现关于SPI来说,有个叫做bitbang的东西,所以有点迷惑,想搞清楚bitbang是啥意思。
找了点资料,大概看明白了:
首先,对于多数情况来说,我们所用的SPI,都是有对应的SPI的控制器的,其负责和外部SPI设备进行通信,负责两者通信时候的信号之间的同步,保证信号的timing都符合SPI协议,保证可以正常进行SPI通信。
但是有些时候,没有此对应的硬件上的SPI控制器,而还想要和SPI设备通信,那么就只能用GPIO端口去模拟对应的SPI接口的对应的pin:片选CS,数据输入Data In,数据输出Data Out,始终Clock,去模拟SPI协议,和对应spi设备进行通信。所以,此时你对每个端口的操作,作为编程者,你自己要去负责信号的同步,保证timing符合协议规定,才能正常进行SPI通信。
这样的SPI的bit-bang,优点是不需要SPI的控制器了,但是缺点很明显,除了要用户自己负责同步,timing等事情之外,相对来说,即使本身SPI设备支持以很高的频率运行,可以实现很好的性能,但是以bit-bang的方式去使用的话,实际性能往往很差。
最后,可以用一句话来解释,什么是SPI的bitbang/bit-bang:
Use software to control serial communication at general-purpose I/O pins
通过GPIO引脚,用软件来模拟串行通信(SPI/I2C 。。。)。
1。What Is Bit-Banging?
http://www.epanorama.net/links/serialbus.html
2。Serial Interfaces, Part Deux I2C and SPI
http://www-micro.deis.unibo.it/~romani/Dida03/lezioni/eugeneho-serialcomm.ppt
3。SPI,I2C,big,banging 在SPI或I2C文档里,有个big-banging是什么意思
http://forum.eepw.com.cn/thread/91427/1
文章来源:http://hi.baidu.com/serial_story/blog/item/952a98860f09033266096e69.html
- 【转】什么是SPI的bitbang / bit bang / bit-bang / bitbanging
- 什么是SPI的bitbang / bit bang / bit-bang / bitbanging
- 转载_【整理】什么是SPI的bitbang / bit bang / bit-bang / bitbanging(转)
- I2C Bit-Bang 程序分析
- Eclipse文件转码插件 (转于BaNg 的博客)
- iOS App 签名的原理[转自bang's blog]
- Sha-Bang
- Sha-Bang
- 转载bang的JSPatch 部署安全策略
- 0519 G2n#W2A-E 2 Strings bang bang bang
- The big bang theory!
- The Big Bang Theory
- the big bang
- The big bang S7E1
- 仿Big-Bang实现
- Shell编程关于Sha-Bang(#!)的Q & A
- Big Bang 详细介绍,锤子科技至今最好的技术
- linux/unix 基本概念的认识(sha-bang 、PPA)
- oracle使用之总结
- Oracle 11g R1下的自动内存管理(AMM)
- 1.4Mother's Milk
- 外键(Foreign Key)
- 门户网站负载均衡技术的六大新挑战
- 【转】什么是SPI的bitbang / bit bang / bit-bang / bitbanging
- 怎么能得到积分
- 中纸在线纸业网——Alexa国际排名进入前10万
- 1.5NumberTriangles
- 依赖、关联、聚合、组合, 泛化, 实现, 各种关系的说明
- 我的9年IT路
- Android游戏开发之旅(十二)Sensor重力感应(2)
- window.open()代替window.showModalDialog()
- 订单查询管理系统Silverlight4