![](https://img-blog.csdnimg.cn/20191023174018780.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
SylixOS中的UART
文章平均质量分 87
SylixOS中的UART
ScilogyHunter
一码流年雨疏疏,莫道E人岁月蹴。。。
展开
-
485总线实践要点
概念485全名叫做EIA-485也叫做RS-485或者RS485,是隶属于OSI模型物理层的 电气特性规定为2线、半双工、平衡传输线多点通信的标准。是由电信行业协会(TIA)及电子工业联盟(EIA)联合发布的标准。实现此标准的数字通信网可以在有电子噪声的环境下进行长距离有效率的通信。在线性多点总线的配置下,可以在一个网络上有多个接收器。因此适用在工业环境中。485的通讯距离最远可以多少根据485 总线结构理论,在理想环境的前提下,485 总线传输距离最远可以达到1200 米。其条件是通讯线材优质达标原创 2021-01-13 09:16:28 · 3448 阅读 · 1 评论 -
RS485基本特性
四、RS-232与RS-485对比1、抗干扰性:RS485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。RS232 接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰。2、传输距离:RS485 接口的最大传输距离标准值为 1200 米(9600bps 时),实际上可达 3000 米。RS232 传输距离有限,最大传输距离标准值为 50 米,实际上也只能用在 15 米左右。3、通信能力:RS-485 接口在总线上是允许连接多达128个收发器,用户可以利用单一原创 2020-07-05 16:50:54 · 7112 阅读 · 1 评论 -
串口的4种电气标准
前言先阅读《Sylixos下的UART基础知识》了解串口的基本概念和特性。串口有4种电气标准,分别是TTL、 RS232 、RS422 和 RS485。这4种串口只在电气信号上有差别,在帧格式,传输逻辑和软件操作上基本都是一样的。在实际项目应用中会有些差别,本文详细描述这些差别和应用特点。需要说明一下,很多人经常把RS-232、RS-422、RS-485 误称为通讯协议,这是很不应该的,其实它们仅是关于UART通讯的一个机械和电气接口标准,顶多是网络协议中的物理层面。主要区别串口的4种电气标准比较原创 2020-07-05 13:23:38 · 9212 阅读 · 1 评论 -
串口驱动中使用FIFO
FIFO是什么?FIFO( First Input First Output) 简单说就是指先进先出。它是一种数据存储或传输模式,可以硬件实现也可以软件实现,大多数用来缓存数据,减少操作次数,提高传输效率。串口实现中其实在两处运用了FIFO。一处是串口控制器硬件内部可能会提供收发FIFO支持,一处是在驱动框架层提供了软件实现的数据收发FIFO。这里只介绍硬件FIFO的特性和用法。没有硬件FIFO的串口只有一个数据接收寄存器和一个数据发送寄存器(这两寄存器可能是同一地址,读时访问接收寄存器,写时访问发送原创 2020-07-04 21:02:46 · 7975 阅读 · 2 评论 -
sylixos下的tty设备
TTY概念终端设备,又被称作 tty 设备。tty 一词源于 Teletypes,或者 teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘进行阅读和发送信息的媒介,后来被键盘与显示器取代,所以现在叫终端比较合适。终端是一种字符型设备,终端通常用于人机交互,比如我们启动系统后通过串口启动的一个 Shell 界面,就是一个串口终端。SylixOS 中终端设备名称在 S...原创 2020-04-05 19:59:40 · 381 阅读 · 0 评论 -
串口驱动的3种实现方式
串口驱动的实现有三种方式:轮询、中断、DMA(直接存储器访问)。这三种方式和使用裸机或哪种操作系统无关,主要看串口设备硬件支持和业务需求。下面简单介绍这三种方式的特点:轮询方式轮询方式主要是每隔一段时间对各种设备进行轮询,查询设备有无处理要求,若有处理要求则进行相应处理。由此可见,若设备无处理要求,则 CPU 仍然会查询设备状态。而轮询的过程将会占据 CPU 的一部分处理时间,因此,程序轮询是...原创 2020-04-01 21:15:08 · 3575 阅读 · 0 评论 -
sylixos下S3C2440串口驱动实现
/************************************************************************************************************* 中国软件开源组织**** 嵌入式...原创 2020-03-29 16:17:18 · 454 阅读 · 0 评论 -
sylixos下imxrt1050串口驱动实现
/************************************************************************************************************* 中国软件开源组织**** 嵌入式...原创 2020-03-29 16:05:04 · 440 阅读 · 0 评论 -
sylixos下uart驱动调用基本流程
不同串口驱动其实现模式不同,具体的寄存器和其他底层操作更是完全不同。但sylixos下,串口驱动的基本流程或框架是一致的。本文以imxRT1050串口驱动为例进行讲解。一,创建tty设备sylixos下uart设备会被封装为tty设备,所以对uart驱动到调用起始于tty设备创建。创建操作位于bsp/bspInit.c文件下的halDevInit函数中,操作如下: SIO_CHAN ...原创 2020-03-29 16:01:27 · 931 阅读 · 0 评论 -
sylixos下16c550 串口驱动实现
sylixos内核中自带了 16c550 串口驱动的实现,源码位于“libsylixos\SylixOS\driver\sio”目录下,实现方式可配置为中断方式或轮询方式。16c550 串口的初始化函数 sio16c550Init 实现如下:INT sio16c550Init (SIO16C550_CHAN *psiochan){ /* * initialize the driver...原创 2020-03-18 21:33:48 · 1171 阅读 · 1 评论 -
串口应用的基本流程
串口简介串口是计算机领域最简单的通信接口,也是使用最广泛的通信接口。虽然现在PC主机上已经很少看到,但在嵌入式领域中通常是必备接口。在实际应用中,由于电气特性不同,串口有多种应用方式,如TTL电平、标准RS-232电平、RS-422差分电平等,但对软件编程基本没有影响。在UNIX下串口设备在操作系统中使用ttySn来表示,即串口是作为一个终端设备来管理的。之所以如此是因为在早期,用户接入一个...原创 2020-03-18 20:33:02 · 1376 阅读 · 0 评论 -
通用uart测试工具
为了方便对UART驱动进行测试,特意开发了通用UART测试工具,该工具同时也可用于UART硬件测试和UART应用开发参考。简要说明命令行解析基于cmdParse模块,这个模块的功能和用法会单独说明。命令每次只针对一个UART端口进行操作。该命令运行后会创建3个执行线程,接收线程,反射线程和发送线程。-help 选项是个通用选项,会输出相应命令的选项列表。-info 选项用于打印命令默...原创 2020-02-17 18:12:45 · 1878 阅读 · 0 评论 -
符合POSIX标准的UART应用例程
简要说明POSIX(Portable Operating System Interface,可移植操作系统接口,X表明其对Unix API的传承)是IEEE为要在各种类UNIX操作系统上运行软件,而定义API的一系列互相关联的标准的总称,其正式称呼为IEEE Std 1003。POSIX标准意在期望获得源代码级别的软件可移植性。换句话说,为一个POSIX兼容的操作系统编写的程序,应该可以在任何其...原创 2020-02-12 22:55:25 · 659 阅读 · 0 评论 -
SylixOS应用层中访问串口设备
sylixos和其他Unix类操作系统一样,遵从一切皆文件的原则,会把各种设备抽象为设备文件。uart设备在sylixos下会抽象为一个tty字符设备文件,文件名型如: /dev/ttyS0。那么对uart设备的调用就是对文件/dev/ttyS0的访问,而对文件的访问就离不开io五件套open,close,read,write和ioctl。相比于其他文件,对ttyS0的操作主要是ioctl命令会有...原创 2020-02-09 11:39:44 · 548 阅读 · 0 评论 -
UART基础知识
UART(Universal Asynchronous Receiver and Transmitter)翻译过来就是 通用异步收发器,因为诞生早使用广泛,狭义上的“串口”仅指UART。串行通信:并行通信中会同时传输多个位,为了保证所有位的一致性,要降低传输频率或保证线路等长等,抗干扰能力差,对硬件的要求高,传输距离短。串行是相对于并行的,每次传输一个位,导线数量少,抗干扰能力强,传输距离远,成...原创 2020-02-05 18:20:13 · 3694 阅读 · 0 评论