- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《ARM嵌入式接口术应用》第二章 串行通信
第二章 串行通信 一、 通信概念介绍 二、 简单的单工串行通信举例 三、 UART异步串行接口应用 四、 SPI串行接口应用 五、 I2C串行总线应用 六、 附录 -- RS-232标准和RS-485标准 一、通信的基本概念 微处理器与外设交换数据的过程中可选择以下两种方式: 并行通信 : 数据的各个数位同时传送; 串行通信 : 数据按照位顺序一位一位传送 。 1.1 串行通信方式 通信双方只要约定好通信格式和通信速度即可通信。 串行通信方式可分为两类: 异步通信: 在异步串行通信中没有同步时钟信号。 同步通信: 在同步串行通信中数据传送受到同步时钟的控制。 1.2 异步通信 异步通信中,微处理器与外设之间必须有两项规定。 第一项规定:双方通信时采用怎样的数据格式。 例如UART串行通信双方规定:用ASCII编码,字符为7位,加一个偶校验位、一个起始位以及一个停止位,则一个字符总共由10位组成,形成的数据格式如图所示。 第二项规定:即双方通信过程中每发送一个数位需要多长的时间。在有些场合也称之为波特率,即每秒钟传送的二进制位数。 UART和1-Wire通信标准就是常见的异步通信。在异步通信中发送器和接收器不必用同一个时钟,只要求各局部时钟同一标称频率(波特率)。 1.3 同步通信 在大量数据传送时,采用通信双方(发送器、接收器)在同一个时钟控制下传输数据的同步通信 。 同步通信是先将许多的字符聚集成一字符块,再将每块信息(常称为信息帧)之前加上1~2个同步字符,接着再加适当的错误检测数据到字符块,最后才传送出去。 1.4 串行通信制式 在单工制式下,数据只能从发送站向接收站传送。如图: 在半双工制式下,数据能双向传送,但是不能同时在两个方向上传送。如图: 全双工制式下,接收数据和发送数据占用不同的线路。全双工通信可以同时发送和接收。如图: 1.5 串行通信分类 串行通信标准有许多,下面仅对部分常见的串行通信标准进行简单介绍 。 二、最简单的单工串行通信举例 与外设串行通信过程中,数据是一位一位依次顺序传送的;而在微处理器内部,数据是并行处理和传送的。 当微处理器发送数据到外设时,必须要先把并行的数据转换为串行数据再传送;当微处理器接收来自外设的数据时,必须要先把接收到的串行数据转换为并行数据才能处理。 这种并/串之间的转换既可用硬件实现也可用软件实现。 本小节以74LS164芯片为例,介绍如何用软件方法实现数据的串→并转换。(ARM与74LS164之间的串行通信) 1.1 实验目的与内容 实验目的:学会用软件方法模拟串行通信的时序,完成串行通信;深刻理解串行通信的原理,掌握时序分析的基本方法。 实验内容:完成ARM芯片与74LS164芯片之间的串行通信,利用LED灯显示传输的数据;在完成基本通信的实验基础上,实现流水灯效果。 1.2.1 实验原理分析 A、B:串行数据输入端。 Clock:时钟输入端。 Clear:清零端。低电平有效。 QA~QH:数据输出引脚。 1.2.2 74LS164真值表 74LS164的时钟是由ARM处理器产生,每来1个上升沿74LS164就接收1位数据。 假设要使QA~QH则ARM要发送一串数A、B输入端,并产生相应的时钟信号。如下图: 1.3 电路原理图 #define LS164_DATA (125) //LS164_DATA=0x0200 0000 #define LS164_CLK (129) //LS164_CLK=0x2000 0000 #define LS164_CLR (117) //LS164_CLR=0x0002 0000 1.4.1程序清单---初始化子程序 /************************************************************************** *名称: void LS164_Init(void) *功能: 初始化子程序。 *入口参数: 无 *出口参数: 无 **************************************************************************/ void LS164_Init(void) { PINSEL1 = PINSEL1 0xfff3ffff; // 设置Ls164引脚LS164_DATA(P0.25)为GPIO PINSEL2 = PINSEL2 0xffffffb7; // 设置Ls164引脚LS164_CLK (P3.29)为GPIO // 设置Ls164
您可能关注的文档
最近下载
- 2025秋人教版八年级上英语教学计划及教学进度安排.docx VIP
- (完整版)元素周期表(word全面版) .pdf VIP
- 《中华人民共和国监察法》试题库附参考答案.docx VIP
- 房屋市政工程生产安全重大事故隐患判定标准(2024版)(宣讲培训).pptx VIP
- 监察法试题库完整.doc VIP
- 水稳运输车驾驶员安全技术交底.pdf VIP
- 外墙保温工程监理实施细则.docx VIP
- 林草--森林火灾危险性评估技术规范.pdf VIP
- 人教版(2019)必修第一册Unit 4 Natural Disasters reading and thinking课件(共38张PPT)(含音频+视频).pptx VIP
- 矿产行业审计风险分析报告 .pdf VIP
文档评论(0)