当前位置: 首页 > news >正文

git网站开发上海最出名的编程培训

git网站开发,上海最出名的编程培训,wordpress判断语句,app下载安卓软件以下内容源于 朱有鹏嵌入式课程的学习与整理#xff0c;如有侵权请告知删除。 参考博客 s5pv210——串口通信 - biaohc - 博客园 一、S5PV210的串口控制器 S5PV210的串口控制器的相关内容#xff0c;在用户手册的section8.1章节。 #xff08;1#xff09;串口控制器包含…以下内容源于 朱有鹏嵌入式课程的学习与整理如有侵权请告知删除。 参考博客 s5pv210——串口通信 - biaohc - 博客园 一、S5PV210的串口控制器 S5PV210的串口控制器的相关内容在用户手册的section8.1章节。 1串口控制器包含transmitter模块和receiver模块两部分功能彼此独立。transmitter模块负责向外部发送信息receiver模块负责从外部接收信息到210内部。 2串口控制器是接在APB总线上的。 3transmitter模块由发送缓冲区和发送移位器构成。主板需要发送信息时首先将信息进行编码形成二进制流然后将一帧数据写入发送缓冲区发送移位器会自动从发送缓冲区中读取一帧数据然后自动移位移位的目的是将一帧数据的各个位分别拿出来将其发送到Tx通信线上。我们编程的时候初始化串口之后只需要将数据写入缓冲区即可硬件会自动完成发送过程。 4receiver模块由接收缓冲区和接收移位器构成。当通过串口线向主板发送信息时信息通过Rx通信线进入接收移位器然后接收移位器自动移位将该二进制位存入接收缓冲区。当接收完一帧数据receiver模块会产生一个中断 给CPUCPU接收到中断后得知receiver模块已经接收一帧数据于是去读取这帧数据。 5串口底层的工作比如怎么移位的、怎么定义起始位的、TTL电平还是RS232电平等对程序员是隐藏的软件工程师对串口的操作接口就是输入与输出缓冲区而缓冲区的实质就是寄存器因此对串口的操作最后还是表现为对寄存器的读写。 6波特率发生器作用是产生串口发送/接收的节拍时钟。波特率发生器本质是一个时钟分频器。它的工作需要源时钟因为串口控制器是接在APB总线上的所以源时钟由APB总线提供然后它的内部将源时钟进行分频软件设置寄存器来配置得到目标时钟然后再用这个目标时钟产生波特率硬件自动的。 7自动流控AFCAuto Flow Control的设计目的是让串口通信变得更可靠在发送方速率比接收方快的时候流控可以保证发送和接收不会漏掉东西。但是现在有更好更高级的通讯方式比如usb、internet串口基本被废弃了。现在串口的主要用途是SoC通过串口来输出调试信息。由于调试信息不是关键性信息而且由于硬件的发展串口本身速度已经相对很慢硬件本身可以协调发送和接收速率因此流控已经失去意义。 二、串口的高级功能 串口的基本功能如一所述由于技术的发展串口新添了一些高级功能在像210这类的高级SoC的串口控制器中都有下面这些高级功能。 1、FIFO模式及其作用 典型的串口设计发送/接收缓冲区只有1字节每次发送/接收只能处理1帧数据。这样在单片机中没什么问题但是到复杂SoC中一般有操作系统的就会出现问题会导致效率低下因为CPU需要不断切换上下文。 解决方案就是扩展串口控制器的发送/接收缓冲区比如将发送/接收缓冲器设置为64字节CPU一次性给发送缓冲区64字节的待发送数据然后transmitter慢慢发送发送完再找CPU要64字节数据。但是串口控制器本来的发送/接收缓冲区是1字节长度所以做了一个变相的扩展即FIFO。这个缓冲区之所以叫FIFO是因为该缓冲区的工作方式类似于FIFO这种数据结构。 2、DMA模式及其作用 DMA是英文direct memory access的缩写中文名是“直接内存访问”。DMA模式要解决的问题与上面的FIFO模式要解决的问题一致就是串口发送/接收要频繁地折腾CPU造成CPU反复切换上下文导致系统效率低下。DMA技术的核心就是在交换数据时不需要CPU参与模块自己完成。 传统的串口工作方式无FIFO无DMA效率是最低的适合低端单片机。高端单片机上CPU事务繁忙所以都需要串口能够自己完成大量数据发送/接收。FIFO模式是一种轻量级的解决方案DMA模式适合大量数据迸发式的发送/接收时。 3、IrDA模式及其用法 IrDA即红外线通信电视机、空调遥控器就是红外通信的。发送方固定间隔时间向接收方发送红外信号或者不发送红外信号接收方通过判断有无红外线信号来接收1和0。 红外通信和串口通信非常像都是每隔固定时间发送1或者0给接收方因此S5PV210就利用串口通信来实现红外发送和接收。S5PV210的某个串口支持IrDA模式开启红外模式后只需要向串口写数据这些数据就会以红外光的方式向外发射出去当然是需要一些外部硬件支持的然后接收方接收这些红外数据即可解码得到所发送的信息。 三、串行通信与中断的关系 串口通信分为发送/接收2部分其中发送方一般不需要但也可以使用中断来完成数据的发送接收方必须其实也可以轮询方式接收使用中断来接收。 1发送方使用中断 发送方先设置好中断并绑定一个中断处理程序然后发送方丢一帧数据给transmitter模块transmitter模块需要耗费一段时间来发送这一帧数据这段时间内发送方CPU可以切换到别的任务等transmitter模块发送完成后会产生一个TXD中断通知CPU去执行事先绑定的中断处理程序在中断处理程序中CPU给transmitter模块放一帧数据然后CPU切换离开。 2发送方不使用中断 发送方事先禁止TXD中断发送方CPU给一帧数据到transmitter模块然后transmitter模块耗费一段时间来发送这帧数据这段时间CPU没有切换去做别的事情一直在等待数据发送完成发送完成后CPU再给它一帧数据继续发送直到所有数据发完。 CPU是怎么知道transmitter模块已经发送完了有一个状态寄存器状态寄存器中有一个位叫发送缓冲区空标志transmitter模块发送完成发送缓冲区空了就会给这个标志位置位CPU通过不断查询这个标志位为1还是0得知发送是否已经完成。 3接收方必须使用中断 因为串口通信是异步的异步的意思就是说发送方占主导权。发送方随时想发就能发而接收方只有时刻等待才不会丢失数据。这个差异使得发送方可以不用中断来发送数据而接收方不得不使用中断模式来接收数据。 四、S5PV210串口的时钟信号 1串口通信为什么需要时钟 因为串口通信需要一个固定的波特率所以transmitter模块和receiver模块都需要一个时钟信号。 2S5PV210的时钟信号从哪里来 外部APB总线PCLK_PSYS66MHz提供源时钟信号然后串口控制器里的波特率发生器进行分频得到一个低频时钟这个时钟就是给transmitter模块和receiver模块使用的。 3如何设置串口的时钟信号 第一为串口控制器选择源时钟一般选择为PCLK_PSYS也可以是SCLK_UART。 第二设置波特率发生器的2个寄存器UBRDIVn、UDIVSLOTn。UBRDIVn寄存器用来设置波特率UDIVSLOTn用来辅助设置目的是为了校准波特率。
http://www.pierceye.com/news/342861/

相关文章:

  • 网站如何留住客户企业建设网站需要注意什么
  • 中国最受欢迎的网站网站建设要知道的
  • 软件开发公司网站模板天津网站建设方案报价
  • 做面条的网站旅游网络营销如何做
  • 知乎的网站建设和网站运营网站建设需求说明
  • 天津做陶瓷的公司网站番禺核酸检测定点医院名单
  • 教育网站赏析delphi网站开发教程
  • 电商网站设计说明书php网站服务器架设
  • 精品课程网站开发项目电子商务的分类
  • 网站建设成品动漫网站建设答辩ppt
  • 邯郸网站设计价格做网站哪便宜
  • 建设网站的一般步骤网站设计下载
  • 广东同江医院网站建设建站网站图片不显示
  • 免费在线响应式网站自助建站网站网页怎么设计
  • 池州网站建设抚顺网站建设公司
  • 网站如可引导客户义乌小程序开发制作公司
  • 环境设计排版素材网站周口市住房和城乡建设局网站
  • 建设部资质查询网站wordpress采集英文
  • 深圳北站设计方案高质量网站外链平台
  • 苏州做网站优化的公司国外 网站页面
  • 网站建设流程发布网站和网页制作鲜花网站建设论文百度文库
  • 建个人网站赚钱吗手机网站页面大小
  • php简单购物网站源码海口网红美食餐厅
  • 傻瓜式建站软件长沙做软件的公司
  • 旅行社营业网点可以做网站吗别人网站建设多少钱
  • 南宁设计网站建设教程网站建设
  • 柯城区住房和城乡建设局网站wordpress仿fe素材
  • 黄岛建设局网站用什么建设网站
  • 桂林dj网站郑州上海做网站的公司
  • 进入江苏省住房和城乡建设厅网站网络舆情监测 toom