串口驱动分析
- 格式:pdf
- 大小:378.38 KB
- 文档页数:1


Android GSM驱动模块(rild)详细分析(全) 熊猫哥哥发表于IT168和Opendroid 转载请注明 corpio整理1 基本架构及初始化Android 的RIL驱动模块,在hardware/ril目录下,一共分rild,libril.so以及li brefrence_ril.so三个部分,另有一 radiooptions可供自动或手动调试使用。
都依赖于i nclude目录中ril.h头文件。
目前cupcake分支上带的是gsm的支持,另有一 cdma分支,这里分析的是gsm驱动。
GSM模块,由于Modem的历史原因,AP一直是通过基于串口的AT命令与BB交互。
包括到了目前的一些edge或3g模块,或像omap这类ap,bp集成的芯片,已经使用了USB或其他等高速总线通信,但大多仍然使用模拟串口机制来使用AT命令。
这里的RIL(Radio Inte rface Layer)层,主要也就是基于AT命令的操作,如发命令,response解析等。
(gprs等传输会用到的MUX协议等在这里并没有包含,也暂不作介绍。
)以下是详细分析,因为篇幅原因,会以连载形式发布出来(大概3篇),本文主要涉及基本架构和初始化的内容:1.1 rild与libril.so以及librefrence_ril.so的关系1. rild:仅实现一main函数作为整个ril层的入口点,负责完成初始化。
2. libril.so:与 rild结合相当紧密,是其共享库,编译时就已经建立了这一关系。
组成部分为ril. cpp,ril_event.cpp。
libril.so驻留在 rild这一守护进程中,主要完成同上层通信的工作,接受ril请求并传递给librefrence_ril.so,同时把来自librefrence_ril.so的反馈回传给调用进程。
3. librefrence_ril.so:rild通过手动的dlopen方式加载,结合稍微松散,这也是因为librefrence.so主要负责跟Modem硬件通信的缘故。
STM32的8种GPIO输入输出模式详细分析浮空,顾名思义就是浮在空中,上面用绳子一拉就上去了,下面用绳子一拉就沉下去了。
开漏,就等于输出口接了个NPN三极管,并且只接了e,b。
c 极是开路的,你可以接一个电阻到 3.3V,也可以接一个电阻到5V,这样,在输出1的时候,就可以是5V电压,也可以是3.3V 电压了。
但是不接电阻上拉的时候,这个输出高就不能实现了。
推挽,就是有推有拉,任何时候IO口的电平都是确定的,不需要外接上拉或者下拉电阻。
(1)GPIO_Mode_AIN 模拟输入(2)GPIO_Mode_IN_FLOATING 浮空输入(3)GPIO_Mode_IPD 下拉输入(4)GPIO_Mode_IPU 上拉输入(5)GPIO_Mode_Out_OD 开漏输出(6)GPIO_Mode_Out_PP 推挽输出(7)GPIO_Mode_AF_OD 复用开漏输出(8)GPIO_Mode_AF_PP 复用推挽输出推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。
输出既可以向负载灌电流,也可以从负载抽取电流。
推拉式输出级既提高电路的负载能力,又提高开关速度。
开漏输出:输出端相当于三极管的集电极。
要得到高电平状态,需要上拉电阻才行。
适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。
开漏形式的电路有以下几个特点:1、利用外部电路的驱动能力,减少IC内部的驱动。
当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。
IC内部仅需很下的栅极驱动电流。
2、一般来说,开漏是用来连接不同电平的器件,匹配电平用的,因为开漏引脚不连接外部的上拉电阻时,只能输出低电平,如果需要同时具备输出高电平的功能,则需要接上拉电阻,很好的一个优点是通过改变上拉电源的电压,便可以改变传输电平。
串口服务器技术规范一、设备技术要求1、设备目录2、设备主要用途与Modem池设备配套使用,将串口设备转换成COM口,连接到以太网络。
(参考MOXA 5610串口服务器用途)3、串口服务器详细技术要求机架式串口服务器:100-240 VAC电源输入、自带1(或2)个以太网端口、16个RS-232串口端口,提供16个串口设备联网准备。
(1)主要功能要求:1.1 网络接入:串口设备支持连接到以太网,提供便捷的传输方式,确保将来网络的扩展性能。
具备16个RS-232串口端口,为这16个串口设备提供联网准备,通过简单的配置,就可以将16个串口设备连接至以太网。
1.2 设备尺寸:符合19英寸机柜安装要求,拥有专业的外观设计,前面板上有所有端口的Tx/Rx LED 指示灯,在后面板上排列16口RS-232的RJ45接口。
1.3 Real COM/TTY端口:通过在Windows或Linux操作系统中安装驱动程序,可以将设备映射为Real COM串口(在Windows中)或Real TTY串口(在Linux中)。
除了支持基本的数据传输之外,还需支持RTS,CTS,DTR,DSR,和DCD控制信号。
1.4 可以通过LED指示灯监测设备运行状态:提供系统LED灯状态分析功能,串口数据传输Tx/Rx LED灯和以太网口LED灯显示情况,帮助现场工程师分析问题,实现对系统的维护。
设备的LED灯不仅可以指示当前系统和网络状态,还可以帮助实现场工程师监视所连接串口设备的状态。
1.5 终端电阻和上拉/下拉电阻可调:在一些关键应用中,终端电阻可防止串口信号的反射,调整上拉/下拉电阻可保持电子信号的完整性。
在没有电阻值普遍兼容的环境里,通过DIP开关,可设置终端电阻和上拉/下拉电阻的阻值。
(2)性能要求:系统稳定性强、功能简便易操作、应用方便、安全性较好、设备驱动支持广泛、兼容性强。
(3)技术指标:3.1 以太网参数端口数量:1/2速率:10/100 Mbps,自适应MDI/MDIX3.2 接头参数:8针RJ453.3 电磁隔离保护:内建1.5 KV3.4光纤接口参数(支持-M-SC和-S-SC)注:当连接单模光纤收发机时,可通过使用衰减器防止因光学功率过大而导致的损坏。
硬件配置参数设置设备命令设备说明#ModbusTCP/IP数据转发设备1、设备简介本驱动构件用于MCGS软件作为ModbusTCP Slave (从站),将各种寄存器的数据通过ModbusTCP协议转发给ModbusTCP Master (主站);此时MCGS作为网络服务端,而ModbusTCP Master做为网络客户端向服务端发出请求帧,服务端收到合理请求帧后,回应数据帧。
本驱动构件多用于同MCGS“标准ModbusTCP设备”成对配合使用,以实现MCGS软件与软件、软件与触摸屏(TPC),或触摸屏与触摸屏之间数据交互的目的。
同时也可用于MCGS 软件、触摸屏与其他软件触摸屏通讯数据交互,但协议及解码格式需遵从MCGS标准。
本驱动支持01、02、03、04、05、06、15、16常用功能码,对功能码支持请参见附录1。
2、硬件连接MCGS软件在通讯之前,请保证通讯连接正确。
通讯连接方式:采用标准的RJ45接口的以太网接线(对调网线或使用HUB交换)。
3、设备通讯参数“通用TCP/IP父设备”通讯参数设置如下:返回顶部网络类型:网络通讯模式,请与设备设置一致。
默认为UDP,一般标准ModbusTCP设备多设置为“1 - TCP”模式通讯。
服务器/客户设置:请设置为“1 –服务器”方式,即:做为服务器端,接受客户端访问。
本地IP地址:执行机的本机IP地址。
请根据实际情况,正确填写执行上位机或TPC 的本机IP地址。
本地端口号:执行机的网络操作端口,设置前要确保设置端口不被其他程序占用。
一般按默认值3000设置或设置为ModbusTCP标准的502端口。
远端IP地址:客户端(即:ModbusTCP主站)的IP地址。
请根据实际情况,正确填写相应IP地址。
(注意:在局域网时,服务器端IP地址和客户端IP地址需要在同一个子网内。
即:要求点分四段IP表示法的前三段地址要相同)。
远端端口号:客户端(即:ModbusTCP主站)的网络操作端口,一般按默认值3000即可。