这篇文章是给谁看的?
给那些有一定的51,PIC 等单片机基础的,并且对树莓派的通用输入输出(GPIO)数据传输有兴趣的菜鸟们(noobs!),比如我。
我能从这篇文章中学到嘛?
这篇文章是新手入门向的文章。有许多有用的链接,以及资源。你看从这里学到(复习?)很多硬件接口基础知识。
这文章是你写的?
不,不。我是在搜索GPIO parallel时无意找到的博文,觉着非常好翻译到自己的博客,方便以后查询,顺便给大家个”福利”。原文(
http://jeffskinnerbox.wordpress.com/2012/12/05/raspberry-pi-serial-communication/)
哦,这样啊那你为什么要搜 GPIO parallel传输呢?
我想用三个RPI同时(要同步的哦)传输视频流到PC上(做图像拼接)。正在考虑传输方式是 USB 或者是GPIO (parallel)。 USB当然是最简单的方法了,但是问题是画质不稳定,而且延迟严重。所以考虑用编码以后用GPIO进行并行传输。
如果有大大能给点指导,我给你捡肥皂哦~~
<------------------------我是华丽的分割线---------------------------->
首先让我们快速回顾下树莓派上数据传输的接口( interfaces):
控制的核心当然是BCM2835.Broadcom把这个芯片定位”multimediaapplications processor for advanced mobile and embedded applications thatrequire the highest levels of multimedia performance”.更为重要的一点是,所有的固件都是开源的!
http://www.raspberrypi.org/archives/2221
除去BCM以外,最大的芯片就是SMSCUSB & Ethernet Controller。用来控制USB和有线网络传输。
值得注意的是,板上大部分固件都是用来进行数据传输的I/O,比如说 HDM,RCA Video,和Audio Out (3.5毫米)是只能输出的,至少对于通用数据传输来说,这些都是单向的只能输出。因此上面提到的都不在我们的讨论之中。除此之外,USB和Ethernet都是广泛支持,而且是非常快速稳定(有独立芯片加速)的传输方式。但是因为项目需求,我们更关注简单的串行通信(serialcommunication)。
本文将不会涉及以下三种接口,尽管他们也属于数据传输:
· JTAG Header:JTAG是用来调试(debug)的接口,嵌入式开发人员,通过JTAG接口来和芯片进行数据交换,以此进行调试(debug)。比如说stepping和breakstepping。我希望能有人够用这个接口对RPI做些什么,好的或者邪恶的XD,但是就目前而言,这个只是为RPI硬件开发社区使用的。
http://www.xjtag.com/support-jtag/jtag-high-level-guide.php
· CSI 摄像头接口。The Camera Serial Interface(CSI)是用来建立摄像头(如果你不知道这个,请搜索“树莓派相机模块”)
http://www.mipi.org/specifications/camera-interface
· DSI Display Serial Interface(DSI) 的目标是给用户提供额外的视频输出选项,降低显示器的成本(注:RPI最初的目的是给那些不发达地区的的孩子学习电脑编程用的。HDMI显示器对于他们来说过于昂贵了。英国的'屌丝'相信,编程改变命运XD。) 该接口适用于LCD和类似的显示技术。
链接一:DSI介绍
http://www.mipi.org/specifications/display-interface
链接二:DSI可能出现的问题
http://www.chalk-elec.com/?p=1553
OK,上面简单的讨论了下所有的I/O,除了~~~~GPIO。这才是我们今天的重点啊,混蛋~