第一篇:can通讯简介
CAN全称为Controller Area Network,即控制器局域网,由德国Bosch公司最先提出,是国际上应用最广泛的现场总线之一。最初CAN 被设计作为汽车环境中的通讯,在汽车电子控制装置之间交换信息形成汽车电子控制网络。由于其卓越的性能、极高的可靠性和低廉的价格现已广泛应用于工业现场控制、医疗仪器等众多领域。
CAN协议是建立在OSI 7层开放互连参考模型基础之上的。但CAN协议只定义了模型的最下面两层:数据链路层和物理层,仅保证了节点间无差错的数据传输。CAN的应用层协议必须由CAN 用户自行定义,或采用一些国际组织制订的标准协议。应用最为广泛的是DeviceNet和CANopen,分别广泛应用于过程控制和机电控制领域。但此类协议一般结构比较复杂,更适合复杂大型系统的应用。笔者在研制一种基于CAN总线的分布式高频开关电源充电机系统的过程中设计了一种适合于小型控制系统的CAN总线高层通信协议。CAN的特点
CAN 是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、抗电磁干扰性,而且要能够检测出总线的任何错误。当信号传输距离达10km时,CAN仍可提供高达50kbps 的数据传输速率。
CAN具有十分优越的特点:
(1)较低的成本与极高的总线利用率;
(2)数据传输距离可长达10km,传输速率可高达1Mbps[7];
(3)可靠的错误处理和检错机制,发送的信息遭到破坏后可自动重发;
(4)节点在错误严重的情况下具有自动退出总线的功能;
(5)报文不包含源地址或目标地址,仅用标志符来指示功能信息和优先级信息。CAN的技术规范
(1)帧类型
在CAN总线中,有四种不同的帧类型[4][5]:
·数据帧(Data Frame)数据帧带有应用数据;
·远程帧(Remote Frame)通过发送远程帧可以向网络请求数据,启动其他资源节点传送他们各自的数据,远程帧包含6个不同的位域:帧起始、仲裁域、控制域、CRC域、应答域、帧结尾。仲裁域中的RTR位的隐极性表示为远程帧;
·错误帧(Error Frame)错误帧能够报告每个节点的出错,由两个不同的域组成,第一个域是不同站提供的错误标志的叠加,第二个域是错误界定符;
·过载帧(Overload Frame)如果节点的接收尚未准备好就会传送过载帧,由两个不同的域组成,第一个域是过载标志,第二个域是过载界定符。
(2)数据帧结构
数据帧由以下7个不同的位域(Bit Field)组成:帧起始、仲裁域、控制域、数据域、CRC域、应答域、帧结尾。
[4]
·帧起始:标志帧的开始,它由单个显性位构成,在总线空闲时发送,在总线上产生同步作用。·仲裁域:由11位标识符(ID10-ID0)和远程发送请求位(RTR)组成,RTR位为显性表示该帧为数据帧,隐性表示该帧为远程帧;标识符由高至低按次序发送,且前7位(ID10-ID4)不能全为显性位。标识符ID用来描述数据的含义而不用于通信寻址,CAN总线的帧是没有寻址功能的。标识符还用于决定报文的优先权,ID值越低优先权越高,在竞争总线时,优先权高的报文优先发送,优先权低报文退出总线竞争。CAN总线竞争的算法效率很高,是一种非破坏性竞争。
·控制域:为数据长度码(DLC3-DLC0),表示数据域中数据的字节数,不得超过8。
·数据域:由被发送数据组成,数目与控制域中设定的字节数相等,第一个字节的最高位首先被发送。其长度在标准帧中不超过8个字节。
·CRC域:包括CRC(循环冗余码校验)序列(15位)和CRC界定符(1个隐性位),用于帧校验。l应答域:由应答间隙和应答界定符组成,共两位;发送站发送两个隐性位,接收站在应答间隙中发送显性位。应答界定符必须是隐性位。
·帧结束:由7位隐性位组成。自订CAN高层协议
CAN的高层协议也可理解为应用层协议,是一种在现有的底层协议(物理层和数据链路层)之上实现的协议。由于充电机系统的结构比较简单,网络规模也比较小。因此我们自行制订了一种简单而有效的高层通信协议。
技术规范CAN2.0A规定标准的数据帧有11位标识符,用户可以自行规定其含义,将所需要的信息包含在内。在充电机系统中,每一个节点都有一个唯一的地址,地址码和模块一一对应,通过拨码开关设定,总线上数据的传送也是根据地址进行的。由于本系统规模较小,节点数少于32个,因此为每个模块分配一个5位的地址码,同一系统中地址码不得重复,系统初始化时由外部引脚读入。将标识符ID9-ID5定义为源地址,ID4-ID0定义为目的地址,本协议中从模块的目的地址全填0,表示数据是广播数据,所有节点都可接收,主模块中目的地址根据要进行通信目的模块的地址确定。
理论上源地址和目的地址的范围都是0~31,但由于CAN协议中规定标识符前7位不能全为显性位,所以源地址不能为31,这时实际节点只有31个(0~30)。因此每个系统所含的模块不超过31个。所以源地址和目的地址的范围缩减到0~30。同时上位监控机也要占用一个地址,因此系统中的电源模块不超过30个,设计时根据节点的优先权高低从小到大分配节点地址。ID10位定义为主模块识别码,该位主模块为隐性位,从模块为显性位,以保证主模块通信优先。模块的地址码决定发送数据的优先级。主模块向总线发送的数据有两种:一种是目的地址全部填0的广播数据;另一种是包含特定目的地址的非广播数据。
协议中一帧数据最多能传送8个字节,对于充电机控制系统来说已经足够用了,本系统只用到其中的前5个字节,其余3个节字可用于以后的扩展使用,因此未定义多帧传输方式。
从模块以广播形式向总线发送数据,同时回收自己发送的数据,若检测到所发送与所收到的数据不符,则立即重新发送上一帧数据。从模块发送信息的顺序由主模块的发出的指令决定,以免在总线通信繁忙时优先级较低的模块始终得不到总线通信权。指令的发送顺序按照各从模块的地址顺序进行,即地址较低的从模块首先获得指令,得以发送自己的地址码和电流、温度采样值。如发生冲突,则由CAN控制器自动根据模块的优先级调整发送顺序,在CAN的底层协议中有完善的优先级仲裁算法,因此应用层协议不必考虑此类问题。
对于每个模块,上电1s后若未收到任何通信信息,则按计算延时发送自身的地址码和温度电流采样值。延时时间的计算为[6]:
tdelay=T×ADD
其中:tdelay-为延时发送时间;
T-为单位延时时间常数,该值根据通信速率定义;可以取1个位周期,在波特率为100kHz时为10μs;
ADD-为模块地址编码。
主模块是ID10=0的模块,因此具有最高的优先级。上电后主模块首先向总线广播发送自身的地址码和温度电流采样值,然后即按顺序向从机发送指令,等待从机的回答。主机1秒钟后若未收到任何通信信息则认为该模块出错,发出报警。同样从机1s后若未收到主机任何通信信息则认为主机出错,按照源地址优先级由其余模块中地址最低的模块充当主模块,并将其ID10由1改为0,以获得最高通信优先权。
各模块检测到自身故障时,将切断输出,退出通信,并向上位机报警,同时发出声光报警。结束语
本文中所介绍的CAN高层通信协议,结构简单、使用灵活、可靠性极高,实现也比较容易。很适合在节点数不多、通信可靠性要求高、控制结构较简单的小型控制系统中应用,具有一定的实用价值
第二篇:CAN数据传输系统简介
一汽-大众汽车有限公司生产的宝来(Bora)轿车,已于2001年12月9日上市,该款车融合了许多高新的技术,在动力传动系统和舒适系统中装用了两套CAN数据传输系统,本文将对此系统加以介绍。
1、CAN数据传输系统概述
(1)为什么要采用数据总线
我们知道,汽车两块电脑之间的信息传递,有几个信号就要有几条信号传输线(信号传输线的接地端可以采用公共回路),例如,宝来轿车发动机电控单元J220与自动变速器电控单元J217之间就需要有5条信号传输线。如果传递信号项目多还需要更多的信号传输线,这样会导致电控单元针脚数增加、线路复杂、故障率增多及维修困难。
(2)什么是数据总线
一辆汽车不管有多少块电控单元,不管信息容量有多大,每块电控单元都只需引出两条线共同接在两个节点上,这两条导线就称作数据总线。以前各电控单元之间好比有许多人骑着自行车来来往往,现在是这些人乘坐公共汽车,公共汽车可以运输大量乘客,故数据总线亦称BUS线。
(3)什么是CAN协议
电子计算机网络用电子语言来说话,各电控单元必须使用和解读相同的电子语言,这种语言称“协议”,汽车电脑网络常见的传输协议有数种。宝来车装用博世公司产品,数据总线采用CAN协议,这个协议是由福特、Internet与博世公司共同开发的高速汽车通信协议。CAN是ControllerAreaNetwork(控制单元区域网络)的缩写,意思是控制单元通过网络交换数据。
(4)CAN数据传输系统的优点
数据总线与其它部件组合在一起就成为数据传输系统,CAN数据传输系统的优点是:
①将传感器信号线减至最少,便更多的传感器信号进行高速数据传递。
②电控单元和电控单元插脚最小化应用,节省电控单元的有限空间。
③如果系统需要增加新的功能,仅需软件升级即可。
④各电控单元的监测对所连接的CAN总线进行实时监测,如出现故障该电控单元会存储故障码。⑤CAN数据总线符合国际标准,以便于一辆车上不同厂家的电控单元间进行数据交换。
2、CAN数据传输系统构成及工作原理
(1)CAN数据传输系统构成CAN数据传输系统中每块电脑的内部增加了一个CAN控制器,一个CAN收发器;每块电脑外部连接了两条CAN数据总线。在系统中作为终端的两块电脑,其内部还装有一个数据传递终端(有时数据传递终端安装在电脑外部)。
(5)各部件功能
①CAN控制器作用是接收控制单元中微处理器发出的数据,处理数据并传给CAN收发器。同时CAN控制器也接收收发器收到的数据,处理数据并传给微处理器。
②CAN收发器是一个发送器和接收器的给合,它将CAN控制器提供的数据转化成电信号并通过数据总线发送出去,同时,它也接收总线数据,并将数据传到CAN控制器。
③数据传递终端实际是一个电阻器,作用是避免数据传输终了反射回来,产生反射波而使数据遭到破坏。④CAN数据总线用以传输数据的双向数据线,分为CAN高位(CAN-high)和低位(CAN-low)数据线。数据没有指定接收器,数据通过数据总线发送给各控制单元,各控制单元接收后进行计算。为了防止外界电磁波干扰和向外福射,CAN总线采用两条线缠绕在一起(图2)。两条线上的电位是相反的,如果一条线的电压是5V,另一条线就是0V,两条线的电压和总等于常值。通过该种办法,CAN总线得到保护而免受外界电磁场干扰,同时CAN总线向外辐射也保持中性,即无福射。
(3)数据传递过程
例如:发动机电脑向某电脑CAN收发器发送数据,该电脑CAN收发器接收到由发动机电脑传来的数据,转换信号并发给本电脑的控制器。CAN数据传输系统的其它电脑收发器均接收到此数据,但是要检查判断此数是否是所需要的数据,如果不是将忽略掉(图3)。
3、动力CAN数据传输系统
(1)动力CAN数据传输系统的组成动力CAN数据总线连接3块电脑(图4),它们是发动机、ABS/EDL 及自动变速器电脑(动力CAN数据总线实际可以连接安全气囊、四轮驱动与组合仪表等电脑)。总线可以同时传递10组数据,发动机电脑5组、ABS/EDL电脑3组和自动变速器电脑2组。数据总线以500kbit/s速率,每一数据组传递大约需要0.25ms,每一电控单元7-20ms发送一次数据。优先权顺序为ABS/EDL电控单元→发动机电控单元→自动变速器电控单元。
在动力传动系统中,数据传递应尽可能快递,以便及时利用数据,所以需要一个高性能的发送器,高速发送器会加快点火系统同时的数据传递,这样使接收到的数据立即应用到下一个点火脉冲中去。CAN数据总线连接点通常置于控制单元外部的线束中,在特殊情况下,连接点也可能设在发动机电控单元内部。
(2)CAN数据传输系统故障码查询
可以使用电脑诊断仪,分别进入01、02、03地址,对发动机、ABS/EDL和自动变速器电控单元进行自诊断,再进入功能码02查询三块电控单元是否储存CAN数据传输故障码。
举例:宝来1.8T车AUM发动机控制单元CAN数据传输故障码
①SAE码P1626码18034-数据总线缺少来自自动变速器控制单元的信息。
②SAE码P1636码18004-数据总线缺少来自安全气囊控制单元的信息。
③SAE码P1648码18056-数据总线损坏。
④SAE码P1649码18057-数据总线缺少来自ABS/EDL控制单元的信息。
⑤SAE码P1650码18058-数据总线缺少来自组合仪表控制单元的信息。
⑥SAE码P1682码18090-数据总线中来自ABS/DEL控制单元的信号不可*。
⑦SAE码P1683码18091-数据总线中来自安全气囊控制单元的信号不可*。
⑧SAE码P1683码18261-数据总线中来自ABS/EL控制单元的信号不可*。
(3)CAN数据传输系统故障诊断
①诊断条件已查询出CAN数据总线一个故障码。
②必备工具:检测仪表、万用表、成套辅助接线和电路图。
③诊断步骤关闭点火开关,拔开发动机控制单元插头,将插到控制单元,此时不要连接线束插头。使用万用表测量58针与60针之间的电阻,这是数据传递终端的电阻值,规定值为60-72Ω,如不符合规定应更换发动机控制单元,如符合规定应按电路图测量数据总线的故障点。
4、CAN数据传输系统
(1)舒适CAN数据传输系统的组成舒适CAN数据总线连接五块控制单元,包括中央控制单元及四个车门的控制单元。舒适CAN数据传递有五个功能:中央门锁、电动窗、照明开关、后视镜加热及自诊断功能。控制单元的各条传输线以星状形式汇聚一点,这样做的好处是,如果一个控制单元发生故障,其它控制单元仍可发送各自的数据。
该系统使经过车门的导线数量减少,线路变得简单。如果线路中某处出现对地短路,对正极短路或线路问题,CAN系统会立即转为应急模式运行或转为单针模式运行。四个车门控制单元都是由中央控制单元控制,只需较少的自诊断线。
数据总线以62.5kbit/s速率传递数据,每一组数据传递大约需要1ms,每个电控单元20ms发送一次数据(图5)。优先权顺序为:中央控制单元→驾驶员侧车门控制单元→前排乘客侧车门控制单元→左后车门控制单元→右后车门控制单元。由于舒适系统中的数据可以用较低的速率传递,所以发送器性能比动力传动系统发送器的性能低。
(2)CAN数据传输系统故障码查询
可以进入地址码46,对舒适系统控制单元进行自诊断,进入功能码02查询舒适系统中央控制是否储存故障码。
第三篇:博雅通讯简介
博雅通讯简介:
博雅通讯自2000年成立以来,一直致力于行货手机网络零售批发事业,经过10年多的建设,现已成为成都地区综合实力较强的手机经销商。博雅通讯一直以为用户提供更可靠、更实惠、更优质的手机为经营理念。目前经营的手机品牌涵盖三星、诺基亚、LG、摩托罗拉、联想等国际国内手机品牌,拥有正规的进货渠道和完善的服务体系,明确的定位,强大的团队,专业的服务,良好的口碑,实事求是的态度,已有超过50万名用户体验了我们提供的手机销售服务。
博雅通讯的目标:打造顾客最信赖的的手机销售平台。
博雅通讯的理念:客户至上,信誉第一,全心为客户服务。
博雅通讯的文化:敬业,诚信,团队,创新,速度。
博雅通讯的团队:我们聆听客户的声音,努力为客户提供优质的服务 优势:
(1)更优惠,价格更低。
我们通过直接从工厂进货和直销的方式,省去手机销售中间环节,让您能以最低的价格购买到最有质量保证的产品。
(2)更可靠,产品质量有保障。
只售正品行货,绝不克扣配件,开具正规发票,享受优质售后服务。
(3)更便捷,购买方式较多。
客户除在实体店购买外,客户也可以选择网上购买方式,博雅通讯将免费送货上门。
(4)更优质,提供客户满意的服务。
博雅通讯队员工进行定期培训,提高员工素质,建设一支具有职业素养的销售团队。
劣势:
(1)品牌认知不高
博雅通讯作为销售商自建品牌,建立时间较短,其品牌认知度、美誉度还不及行业内优秀的经销商。
(2)经营品种过多,在专业性上的优势不明显。
博雅通讯目前经营着三星、诺基亚、LG、中兴、联想等数十种品牌上百种型号的手机,在各品牌的专业性经销上还需整合各种资源,满足客户对专业性的需求。
(3)经销服务网点相对较少
博雅通讯因建立时间较晚,经销服务体系还不够完善,但目前博雅通讯正积极加大网点建设资金投入,不断扩大经销网络。
公司名称我暂取为博雅通讯,你自己斟酌后改个好听的名字
第四篇:各种通讯接口简介(模版)
各种通讯接口简介 ———各种通讯接口简介
作者:realinfo发布时间:2011-5-23 10:48:53阅读次数:
一、什么是RS-232 接口?
(1)RS-232 的历史和作用
在串行通讯时,要求通讯双方都采用一个标准接口,使不同的设备可以方便地连接起来进行通讯。RS-232-C接口(又称EIA RS-232-C)是目前最常用的一种串行通讯接口。
(“RS-232-C”中的“-C”只不过表示RS-232的版本,所以与“RS-232”简称是一样的)它是在1970 年由美国电子工业协会(EIA)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的用于串行通讯的标准。它的全名是“数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准”该标准规定采用一个25 个脚的DB-25 连接器,对连接器的每个引脚的信号内容加以规定,还对各种信号的电平加以规定。后来IBM的PC 机将RS-232 简化成了DB-9 连接器,从而成为事实标准。而工业控制的RS-232 口一般只使用RXD、TXD、GND 三条线。
(2)RS-232 接口的电气特性
在RS-232-C 中任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3 到-15V;逻辑“0”为+3 到+15V。RS-232-C 最常用的9 条引线的信号内容如下所示
DB-9123456789
DB-25 832 20764522
定义DCD RXD TXD DTR GND DSR RTS CTS RI
(3)RS-232 接口的物理结构
RS-232-C 接口连接器一般使用型号为DB-9 插头座,通常插头在DCE端,插座在DTE端.PC 机的RS-232 口为9 芯针插座。而波士RS-232/RS-485转换器的RS-232 为DB-9 孔插头。一些设备与PC 机连接的RS-232 接口,因为不使用对方的传送控制信号,只需三条接口线,即“发送数据TXD”、“接收数据RXD”和“信号地GND”。RS-232 传输线采用屏蔽双绞线。
(4)RS-232 传输电缆长度
由RS-232C 标准规定在码元畸变小于4%的情况下,传输电缆长度应为50 英尺,其实这个4%的码元畸变是很保守的,在实际应用中,约有99%的用户是按码元畸变10-20%的范围工作的,所以实际使用中最大距离会远超过50英尺,美国DEC公司曾规定允许码元畸变为10%而得出下面实验结果。其中1 号电缆为屏蔽电缆,型号为DECP.NO.9107723 内有三对双绞线,每对由22# AWG 组成,其外覆以屏蔽网。2 号电缆为不带屏蔽的电缆。型号为DECP.NO.9105856-04是22#AWG 的四芯电缆。
DEC 公司的实验结果
波特率bps1号电缆传输距离(米)2号电缆传输距离(米)
1101500900
3001500900
1200900900
2400300150
480030075
96007575
经过许多年来RS-232 器件以及通信技术的改进,RS-232 的通信距离已经大大增加。波士电子的RS-232 增强器可以将普通的RS-232 口的通信距离直接延长到1000米。
二、什么是RS-485 接口?
1.RS-485 的电气特性:
发送端:逻辑“1”以两线间的电压差为+(2 至6)V 表示;逻辑“0”以两线间的电压差为-(2 至6)V 表示。接收端:A比B高200mV以上即认为是逻辑“1”,A 比B 低200mV 以上即认为是逻辑“0”。
2.RS-485(或 RS-422)的接线:
RS-485(或 RS-422)通信建议一定要接地,因为RS-485(或 RS-422)通信要求通信双方的地电位差小于1V。即:半双工通信接3根线(+A、-B、地),全双工通信接5根线(+发、-发、+收、-收、地)。为了安全起见,建议通信机器的外壳接大地。RS-485(或 RS-422)光隔转换器的所有外接电源的“地”必须全部连在一起但不要与计算机外壳地相连,因为电源“地”同时也是RS-485或 RS-422的信号“地”。当通信距离超过100米时建议最好使用光电隔离的通信接口转换器。
3.RS-485 的数据最高传输速率为10Mbps。但是由于RS-485 常常要与PC 机的RS-232口通信,所以实际上一般最高115.2Kbps。又由于太高的速率会使RS-485 传输距离减小,所以往往为9600bps 左右或以下。
4.RS-485 接口是采用平衡驱动器和差分接收器的组合,抗噪声干扰性好。
5.RS-485接口的最大传输距离标准值为1200米(9600bps时),实际上可达3000米,RS-485 接口在总线上是允许连接多达128个收发器、即RS-485 具有多机通信能力,这样用户可以利用单一的RS-485 接口方便地建立起设备网络。因RS-485 接口具有良好的抗噪声干扰性,长的传输距离和多站能力等上述优点就使其成为首选的串行接口。因为RS485 接口组成的半双工网络,一般只需二根信号线,所以RS485 接口均采用屏蔽双绞线传输。RS-485 的国际标准并没有规定RS485 的接口连接器标准、所以采用接线端子或者DB-
9、DB-25 等连接器都可以。波士RS-485 接口是事实工业标准。
6.采用RS485 接口时,传输电缆的长度如何考虑?
在使用RS485 接口时,对于特定的传输线经,从发生器到负载其数据信号传输所允许的最大电缆长度是数据信号速率的函数,这个长度数据主要是受信号失真及噪声等影响所限制。最大电缆长度与信号速率的关系曲线是使用24AWG 铜芯双绞电话电缆(线径为0。51mm),线间旁路电容为52。5PF/M,终端负载电阻为100 欧时所得出。(引自GB11014-89附录A)。当数据信号速率降低到90Kbit/S 以下时,假定最大允许的信号损失为6dBV 时,则电缆长度被限制在1200M。实际上,在实用时是完全可以取得比它大的电缆长度。当使用不同线径的电缆。则取得的最大电缆长度是不相同的。例如:当数据信号速率为600Kbit/S
时,采用24AWG 电缆,最大电缆长度是200m,若采用19AWG 电缆(线径为0.91mm)则电缆长度将可以大于200m; 若采用28AWG 电缆(线径为0.32mm)则电缆长度只能小于200m。RS-485的远距离通信建议采用屏蔽电缆,并且将屏蔽层作为地线。
三、什么是RS-422 接口?
RS-422 的电气性能与RS-485完全一样。主要的区别在于:
RS-422 有4 根信号线:两根发送(Y、Z)、两根接收(A、B)。由于RS-422 的收与发 是分开的所以可以同时收和发(全双工)。RS-485 有2 根信号线:发送和接收都是A 和B。由于RS-485 的收与发是共用两根线所以不能够同时收和发(半双工)。能否将RS-422 的Y-A 短接作为RS-485 的A、将RS-422 的Z-B 短接作为RS-485 的B呢?回答:不一定。条件是RS-422 必须是能够支持多机通信的。波士电子的所有接口转换器的RS-422 口都能够支持全双工多机通信,所以可以这样简单转换为RS-485。
四、RS-485 比RS-232接口相比有何特点?
由于RS-232 接口标准出现较早,难免有不足之处,主要有以下四点:
(1)接口的信号电平值较高,易损坏接口电路的芯片,又因为与TTL 电平不兼容故需使用电平转换电路方能与TTL 电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps。现在由于采用新的UART 芯片16C550 等,波特率达到115.2Kbps。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容 易产生共模干扰,所以抗噪声干扰性弱。
(4)传输距离有限,最大传输距离标准值为50 米,实际上也只能用在15米左右。
(5)RS-232 只允许一对一通信,而RS-485 接口在总线上是允许连接多达128个收发器。
五、串口通信功能的实现
利用VC++实现串口通信的方法有多种,我们采取直接调用Window API中的一系列标准的串口通信函数,直接用这些标准函数来完成Windows下面的串口通信编程[11]。利用
WindowsAPI函数控制利用API函数实现对RS232串口通信的访问,在实现控制通信中,我们必定要调动3个函数来实现对串口的控制:
CreatFile()函数实现串口初始化并打开串口;
ReadFile()函数接收串口传递过来的二进制流并返回数据到接收缓冲区中
WriteFile()把应用程序发出的指令送到发送缓冲区以供串口接收
1.打开串口
以下程序用于以同步方式打开串口COM1;
HANDLE hCom;
DWORD dwErrorHcomm=CreateFile(“COM1”,GENERIC_READ|GENERIC_WRITE,0, NULL,OPEN_EXISTING, 0, NULL);
if(hComm==(HANDLE)0Xffff)
{
dwError=GetLastError();
MessageBox(dwError);
}
2.配置串口
配置串口是通过改变设备控制块DCB(Device Control Block)的成员变量值来实现的,程序实现如下:
DCB dcb
dcb.BaudRate=9600;//波特率为9600bps
dcb.ByteSize=8;//数据位8位
dcb.Parity=EVENPARTTY;//有校验
dcb.StopBits=ONESTOPRTT;//一个停止位
SetCommState(hCom,&dcb);
3.数据读写
对串口进行读写与对文件进行读写所用的函数相同,具体为可采用查询、同步、异步或事件驱动等方法对串口进行读写所用函数如下所示:
bReadStatus=ReadFile(hCom,buffer,length,&length &m_lpOverlapped);
if(!bReadStatus)
{
if(GetLastError()=ERROR_IO_PENDING)
{
WaitForSingleObject(m_lpOverlapped,hEvent,1000);
return((char)length);
}
return 0;
}
//写入函数程序为:
bWriteStatus=WriteFile(hCom,buffer,length,&length,&m_lpOverlapped)
if(!bWriteStatus)
{
if(GetLastError()=ERROR_IO_PENDING)
{
WaitForSingleObject(m_lpOverlapped, hEvent,1000);
return((char)length);
}
return 0;
}
4.程序的编制
用VC++进行程序的编制首先要对串口进行初始化,设定端口,通信速率和校验方式,并在使用前打开串口,程序部分如下:
{
Cdialog::OnInitDialog();//TODO: Add extra initialization here
m_comm.SetCommPort(1);//选择串口1
if(!m_comm.GetPortOpen())
m_comm.SetPortOpen(TRUE);//打开串口1
m_comm.SetSettings(“9600,n,8,1”);//设置串口参数
m_comm.SetRThreshold(1);
m_comm.SetInputMode(1);//设置二进制模式
return TRUE;
}
除了串口的位置和基本串口参数(数据传输速率9600bps,1位开始位,8位数据位,1位停止位,一位奇偶校验)设置外,为了实现实时数据采集功能,接受数据的读写要尽可能的快速,则设置RTHreshold=1即接收缓冲区收到一个字节产生OnComm事件InputLen=1每次读取一个字节。如果PC上位机在一定时间内不能将数据处理完,接收缓冲区会滞留数据,数据会产生丢失现象,我们必须对接受缓冲区进行适当的设置。我们利用API函数实现串口通信的方法,实现了罗经及发射机对上位机串行通信的功能。
第五篇:天波通讯简介
【2011版】
天波通讯公司简介
达州市天波通讯器材有限公司创建于1997年7月,是一家专业从事通讯终端产品销售的公司。创建之初,公司是一个员工不过5人、流动资金不足十万元的零售门市,在短短十多年的发展历程中,公司走了一条由小到大,再由大到精的发展路线。
在十年发展的中,公司曾先后成立过巴中分公司、乐山分公司、南充分公司、广安分公司,并于2004年成功收购了成都伊思滕公司及成都迅驰通讯公司,公司由小到大,由弱到强,逐渐走上规模化经营、集团化管理之路,在此基础上组建成立了天波通讯(集团)公司。但随着通讯市场竞争格局的变化,天波通讯果断的做出了做大不如做精的战略布局,先后收缩了巴中分公司和乐山分公司,集中人力、物力、财力投入在川东两个重镇:达州和南充市场,截止目前为止,天波(集团)公司总资产逾千万,公司员工100余人。集团公司实行各分公司资金、人员统筹调度,经营业务独立开展,效益独立核算的办法,批零兼营,成为闻名全省的通讯公司,先后被评为“放心购物单位”、“产品质量信得过单位”。
“天波”在其营销服务中,严格把好货品质量关,坚决抵制无质量保障、无正规厂家、无售后服务的产品进入公司销售网络,认真恪守“质量第一、用户满意”的服务原则,以精品服务打造天波名牌。
天波经营理念:
天波通讯(集团)公司的宗旨:团结友爱、坚定信心、开拓进取、以一流的工作效率造就一流的服务质量,追求最大经济效益,充分发挥个体和团队的潜能,尽展人生价值,创造辉煌未来。
天波企业精神:以人为本,员工是公司最大限度的资产,公司期盼为员工提
供合适的工作环境和平等的发展机会,让员工人尽其能、才尽其用,共享经营成果;“诚信是天波立业之本”,每位团队成员坚守承诺,并以认真负责的态度,完成公司交托的使命。视客户为上帝,让他们在享受新科技的成果的同时,享受天波人的友善,享受天波服务的快乐,以此彰显天波人诚信、友善、平等的服务理念。
天波行为理念:只有想不到,没有做不到,办法总比困难多,两军相交勇者胜。“学习、思考、创新”,从我做起。
员工理念:“员工是亲人”、“要关爱,不要溺爱”、“企业靠员工发展,员工靠企业生存”、“只有员工满意,企业才能如意”、“员工是企业最大的资产”。
顾客理念:“顾客不是上帝,是永远的朋友”、“顾客至上至尊”、“顾客的要求就是我的使命”、“用善待母亲的方式善待顾客”。
创新理念:“激情是创新之源”、“只有创新,才有高薪”、“创新是企业的命脉”。渠道理念:“求胜者先求势”、“终端为王”、“赢得渠道靠产品,更靠文化”、“以诚为本,信誉第一,共生共赢,服务至胜”、“终端为王”。
服务理念:“微笑是心灵之花,是爱和友善的载体”、“面对愤怒,作白衣天使”、“精致服务每一秒”、“贴心服务,既为顾客创造价值,也为企业创造顾客的忠诚”、“快乐地问候是服务的起点”、“我们做的比顾客想得到的更多”。
团队理念:“有效的沟通是团队合作的基础”、“藐视别人就是孤立自己”、“支持、协作、共同分享”、“个人是一粒沙,团队才是一座塔”。
在发展历程中,天波通讯形成了自己的企业文化内涵及经营服务理念,“诚交天下朋友”、“为社会创造价值、为员工创造机会”等天波理念,在全省通讯界广为流传。天波人正以团结友爱、智慧闪烁、激情飞扬、满怀自信的风貌去创造天波璀璨的明天,创造未来美丽的家园!