《嵌入式串口通信fmvp.docx》由会员分享,可在线阅读,更多相关《嵌入式串口通信fmvp.docx(45页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 毕业设计(论文)题目:PPC机与与嵌入式式开发板板串口通通信的设计与编编程实现现III 毕业设计摘要随着嵌入入式系统统的发展展和大规规模应用用,为了了提升系系统的整整体性能能,必须须实现PPC机和和嵌入式式计算机机之间的的通信。在实际开发应用中,串口通信是不可缺少的部分,是目前嵌入式系统与PC机之间一种非常重要而且普遍应用的通信方式。本文通过基于2410F的嵌入式串口通信的实现,按照嵌入式系统的软、硬件结构组成,较为详细地介绍了串口通信的硬件电路和软件实现方法。该系统的硬件主体设计以三星S3C2410 处理器为核心控制器件,通过与计算机串口间的连接,实现在ARM 平台上与外部设备通信的基本功
2、能。关键词:嵌入式式系统;24110F;串口口通信;Linnux系系统ABSTTRACCTAlonng wwithh thhe ddeveeloppmennt oof eembeeddeed ssysttem andd apppliicattionn sccalee, tthe commmunnicaatioon bbetwweenn thhe PPC aand embbeddded commputter musst bbe aachiieveed iin oordeer tto iimprrovee thhe wwholle pperfformmancce oof tthe sysstemm
3、. Inn thhe aactuual devveloopmeent apppliccatiion, seeriaal ccommmuniicattionn iss ann esssenntiaal ppartt.Annd iit iis aa veery impporttantt annd uunivverssal modde.In thiis ppapeer, bassed on thee 24410FF thhe rreallizaatioon oof eembeeddeed sseriial commmunnicaatioon, acccorddingg too thhe eembee
4、ddeed ssysttem sofftwaare andd haardwwaree sttruccturre, a mmoree deetaiiledd deescrripttionn off thhe sseriial commmunnicaatioon hharddwarre aand sofftwaare metthodds. Thee prrinccipaal ppartt off thhe hharddwarre iin tthiss syysteem iis cchieeflyy coontrrollled by S3CC24110 pproccesssor ,whhichh i
5、ss prroduucedd byy SAAMSUUNG Commpanny ,commmunnicaatedd wiith thee seeriaal oof ccompputeer , thhis sysstemm reealiizess thhe bbaseed ffuncctioon oof vvisiitinng eexteerioor ddeviice ,whhichh iss onn thhe bbaseed oof AARM.Keywwordds:eembeeddeed ssysttem;24110F;seeriaal ccommmuniicattionn;Liinuxx sy
6、ysteem 目录摘要IABSTTRACCTIII1 绪论论11.1 串口通通信概述述11.2 串口通通信的原原理11.3 串口通通信的开开发工具具21.3.1 224100F硬件件平台简简介21.3.2 AARM简简介21.3.3 LLinuux系统统简介331.4 串口通通信的基基本任务务42 串口口通信协协议及实实现52.1 RS-2322C标准准52.2 系统硬硬件结构构原理1103 串口口驱动程程序设计计123.1 串口操操作需要要的头文文件1223.2 打开串串口1223.3 串口设设置1223.4 串口读读写1553.5 关闭串串口1664 设计计验证与与测试1185 总结结21
7、参考文献献22致谢233附录2441 绪 论目前,先先进的嵌嵌入式计计算机以以其优良良的品质质、高可可靠性及及模块化化,广泛泛地应用用于工业业控制、航航空航天天、医疗疗、智能能仪表、通通信、数数控、自自动化生生产设备备、数据据采集等等领域。在在实际应应用中,有有时需要要借助微微机强大大的数据据处理能能力和丰丰富的软软件资源源,使得得组成的的系统功功能更为为强大。为为了提升升系统的的整体性性能,必必须实现现PC机机和嵌入入式计算算机之间间的通信信。在数数据采集集的实际际开发应应用中,串串口通信信是不可可或缺的一部分,也也是目前前嵌入式式系统与与PC机机之间最最重要,应用最普遍的通信方式。1.1
8、串口通通信概述述所谓串口口通信,是是指外设设和计算算机间使使用一根根数据信信号线(另另外需要要地线),数数据在一一根数据据信号线线上一位位一位地地进行传传输,每每一位数数据都占占据一个个固定的的时间长长度。串口传输输是二进进制代码码序列在在一条信信道上以以位(元元码)为为单位,按按时间顺顺序且按按位传输输的通信信方式。串串行传输输时,发发送端按按位发送送,接收收端按位位接受,同同时还要要对所传传输的位位加以确确认,所所以收发发双方要要采取同同步措施施,否则则接受端端将不能能正确区区分出所所传输的的数据。串口通信信不但能能实现计计算机与与嵌入式式开发板板之间的的数据传传输,而而且还能能实现计计算
9、机对对嵌入式式开发板板的控制制。若采采用普通通单片机机,对外部部设备的的访问就就需要利利用复杂杂的汇编编语言进进行编程程或者使使用C551自己己编写设设备的初初始化以以及读写写访问程程序,这样的的过程不不仅复杂杂,而且不不利于大大规模的的开发和和设计。ARM与8051等普通单片机相比,具有开发简单、灵活,而且性能稳定、功能易于扩展等一系列优势,因而在汽车电子、手持设备、无线领域和航空航天等嵌入式系统中得到广泛的应用。将Linnux 移植到到ARMM嵌入式式处理器器后,可以利利用操作作系统中中提供的的系统调调用把串串口及其其他外设设当成普普通文件件进行操操作,读写方方便,因此进进行相应应开发可可
10、以提高高系统编编程效率率,而且还还可以简简化调试试的复杂杂程度。1.2串串口通信信的原理理串行端口口的本质质功能是是作为CCPU和和串行设设备间的的编码转转换器。当当数从CCPU经经过串行行端口发发送出去去时,字字节数据据转换为为串行的的位。在在接收数数据时,串串行的位位被转换换为字节节数据。串口是系统资源的一部分,应用程序要使用串口进行通信,必须在使用之前向操作系统提出申请要求(打开串口),通信完成后必须释放资源(关闭串口)。1.3串串口通信信的开发发工具本次开发发采用的的硬件平平台是AARM9920TT处理器器的24110F,开发发系统平平台是LLinuux系统统。1.3.1 224100
11、F硬件平平台简介介24100F 是是基于三三星(ssamssungg)ARMM9 嵌嵌入式处处理器 S3CC24110 处处理器的的一款开开发平台台,“F”指基于于24110 的的第六代代开发套套件。系系统运行行在 2202MM 的主主频下发发挥出色色的性能能。可以以完成MMP3,MPGG,VOIIP 等等工作。2410 资源丰富适合 ARM 处理器的初学者学习使用。2410F 上面使用的核心模块体积小资源丰富,IO 充足还可以应用在二次开发的产品当中。这款设备主要包括核心板与底板两个部分,核心板采用6 层PCB 设计、底板采用2 层PCB 板设计,核心器件是基于目前业内主流使用的SAMSUN
12、G ARM9S3C2410 处理器,主频202MHz,配套的存储器,网卡等设备;底板主要是各类型的接口。S3C224100处理器器是Saamsuung公公司基于于ARMM公司的的ARMM9200T处理理器核,采采用0.18uum制造造工艺的的32位位微控制制器。该该处理器器拥有:独立的的16KKB指令令Cacche和和16KKB数据据Cacche,MMUU,支持持TFTT的LCDD控制器器,NAAND闪闪存控制制器,33路UARRT,4路DMAA,4路带PWWM的Timmer ,I/O口,RTTC,8路10位ADCC,Touuch Scrreenn接口,IIIC-BUSS 接口口,IIIS-B
13、BUS 接口,2个USB主机,1个USB设备,SD主机和MMC接口,2路SPI。S3C2410处理器最高可运行在203MHz。它是基于于ARMM9200T 内内核的116/332 位位RISSC 处处理器, 主要要应用于于嵌入式式系统中中。S33C24410 拥有强强大的数数据处理理能力,又有着着低成本本,低功功耗等优优点,在在各种手手持及移移动设备备上的应应用越来来越广泛泛,基于于其平台台的程序序功能也也越来越越复杂。于于是,在在其平台台上架构构多线程程的操作作系统已已成为越越来越多多系统设设计者的的诉求, 本文文介绍多多线程在在S3CC24110 上上的具体体实现过过程。1.3.2 AAR
14、M简简介ARM(Advvancced RISSC MMachhinees),既既可以认认为是一一个公司司的名字字,也可可以认为为是对一一类微处处理器的的通称,还还可以认认为是一一种技术术的名字字。19991 年ARMM公司成成立于英英国剑桥桥,主要要出售芯芯片设计计技术的的授权。目目前,采采用ARRM技术术知识产产权(IP)核的微微处理器器,即通通常所说说的ARRM微处处理器,已已遍及工工业控制制、消费费类电子子产品、通通信系统统、网络络系统、无无线系统统、军用用系统等等各类产产品市场场,基于于ARMM技术的的微处理理器应用用约占据据了322位RISSC 微微处理器器70以上的的市场份份额,A
15、ARM技技术正在在逐步渗渗入到我我们生活活的各个个方面。ARM公司是专门从事基于RISC技术芯片设计开发的公司,作为知识产权供应商,本身不直接从事芯片生产,靠转让设计许可,由合作公司生产各具特色的芯片,世界各大半导体生产商从ARM公司购买其ARM微处理器核,根据各自不同的应用领域,加入适当的外围电路,从而形成自己的ARM微处理器芯片进入市场。目前全世界有几十家大的半导体公司都使用ARM 公司的授权,因此既使得ARM技术获得更多的第三方工具、制造、软件的支持,又使整个系统成本降低,使产品更容易进入市场并被消费者所接受,更具有竞争力。ARM 微处理理器一般般具有如如下特点点:(
16、11)体积积小、低低功耗、低低成本、高高性能;(22)支持持 Thhumbb(16 位位)/AARM(32 位位)双指指令集,能能很好的的兼容88/166 位器器件;(33)大量量使用寄寄存器,指指令执行行速度更更快;(44)大多多数数据据操作都都在寄存存器中完完成;(55)寻址址方式灵灵活简单单,执行行效率高高;(66)指令令长度固固定。1.3.3Liinuxx系统简简介Linuux是一一类Unnix计计算机操操作系统统的统称称。Liinuxx操作系系统也是是自由软软件和开开放源代代码发展展中
17、最著著名的例例子。LLinuux 一一般有四四个主要要部分:内核、Shell、文件结构和实用工具。(1)LLinuux内核核内核是系系统的心心脏,是是运行程程序和管管理像磁磁盘和打打印机等等硬件设设备的核核心程序序。它从从用户那那里接受受命令并并把命令令送给内内核去执执行。(2)LLinuuxShhelllShelll 是是系统的的用户界界面,提提供了用用户与内内核进行行交互操操作的一一种接口口。它接接收用户户输入的的命令并并把它送送入内核核去执行行。实际上SShelll 是是一个命命令解释释器,它它解释由由用户输输入的命命令并且且把它们们送到内内核。不不仅如此此,Shhelll 有自自己的编
18、编程语言言用于对对命令的的编辑,它它允许用用户编写写由shhelll 命令令组成的的程序。Shell 编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell 程序与其他应用程序具有同样的效果。(3)LLinuux 文文件结构构文件结构构是文件件存放在在磁盘等等存储设设备上的的组织方方法。主主要体现现在对文文件和目目录的组组织上。目目录提供供了管理理文件的的一个方方便而有有效的途途径。我我们能够够从一个个目录切切换到另另一个目目录,而而且可以以设置目目录和文文件的权权限,设设置文件件的共享享程度。使用Liinuxx,用户户可以设设置目录录和文件件的
19、权限限,以便便允许或或拒绝其其他人对对其进行行访问。(4)LLinuux 实实用工具具标准的 Linnux 系统都都有一套套叫做实实用工具具的程序序,它们们是专门门的程序序,例如如编辑器器、执行行标准的的计算操操作等。用用户也可可以产生生自己的的工具。实用工具具可分三三类: 编编辑器:用于编编辑文件件。 过过滤器:用于接接收数据据并过滤滤数据。 交交互程序序:允许许用户发发送信息息或接收收来自其其他用户户的信息息。1.4 串口通通信的基基本任务务(1)实实现数据据格式化化:因为来来自CPPU 的的是普通通的并行行数据,所以,接口电电路
20、应具具有实现现不同串串行通信信方式下下的数据据格式化化的任务务。在异异步通信信方式下下,接口自自动生成成起止式式的帧数数据格式式。在面面向字符符的同步步方式下下,接口要要在待传传送的数数据块前前加上同同步字符符。(2)进进行串-并并转换:串行传传送,数据是是一位一一位串行行传送的的,而计算算机处理理数据是是并行数数据。所所以当数数据由计计算机送送至数据据发送器器时,首先把把串行数数据转换换为并行行数才能能送入计计算机处处理。因因此串并并转换是是串接口口电路和和的重要要任务。(3)控控制数据据传输速速率:串行通通信接口口电路应应具有对对数据传传输速率率-波波特率进进行先择择和控制制的能力力。(4
21、)进进行错误误检测:在发送送接口电电路对传传送的字字符数据据自动生生成奇偶偶校验位位或其他他校验码码。在接接收时,接口电电路检查查字符的的奇偶校校验或其其他检验验码,确定是是否发生生传送错错误。(5)进进行TTTL与EIAA 电平平转换:CPUU 和终终端均采采用TTTL 电电平及正正逻辑,它们与与EIAA采用的的电平及及负逻辑辑不兼容容,需在接接口电路路中进行行转换。2串口通通信协议议及实现现串行端口口的本质质功能是是作为CCPU 和串行行设备间间的编码码转换器器,一般般微机内内都配有有通信适适配器,使计算算机能够够与其他他具有RRS-2322C 串串口的计计算机或或设备进进行通信信。本系系
22、统主要要目的是是实现宿宿主机与与目标机机之间的的近距离离串行通通信, 采用的的宿主机机是Inntell Ceentrrinoo架构的的Redd Haat LLinuux 99.033 环境境PC机, 而目目标机是是ARMM 架构构的开发发板。本系统中中目标机机开发板板的内核核采用的的是三星星的S33C24410 ,该开开发板采采用核心心板加底底板的模模式, 核心板板接口采采用DIIMM2200 标准连连接器,工作非非常可靠靠,可稳稳定运行行在2003 MMHz 的时钟钟频率下下。其外外设非常常丰富,功能强强大,完完全可以以满足设设计需要要。串口口线采用用常用的的RS-2322C 型型接口模模式
23、,能能实现计计算机与与开发板板间的数数据传输输与控制制。嵌入入式串口口通信采采用EIIA RRS-2232CC标准。2.1 RS-2322C标准准RS-2232CC是19699年由电电子工业业协会(EIA)公布的标准。该标准的用途是定义数据终端设备DTE(Data Terminal Equipment)与数据通信设备DCE(Data Communication Equioment)的接口特性。数据终终端设备备就是连连接通信信两端设设备的连连线(如如空MOODEMM)或其其他设备备。RSS-2332C标标准的构构架如图图2.11所示。(数据终端设备DTE)(数据通信设备DCE)(数据通信设备DC
24、E)(数据终端设备DTE)计算机BMODEMMODEM计算机ARS-232C通信线路RS-232C图2.1 RS-232C标准的构架(RS-2232CC标准的的一些主主要规范范如下。(1) 电气特性性RS-2232CC采用非非归零、双双极性编编码,且且使用负负逻辑规规定的逻逻辑电平平:-115-5V规定为为逻辑“1”。+55+155V规定定为逻辑辑“0”。信号号电平与与TTLL电平不不兼容,所所以需要要电平转转换电路路(通常常使用MMAX332322转换)。电电平转换换电路如如图2.2所示示。RS-232C输出TTL输出RS-232C接口电路MAX3232RS-232C输入TTL输入图2.2
25、RS-232C的电平转换电路(2) 引脚定义义目前广泛泛的DBB9引脚脚定义如如图2.3所示示。信号号引脚定定义的说说明见表表2.11。9 RIGND 58 CTSDTR 47 RTSTXD 3RXD 26 DSRDCD 1图2.3 DB9 引脚定义9针串口口DB99针号功能说明明缩写1输入,数数据载波波检测DCD2输入,接接收数据据RXD3输出,发发送数据据TXD4输出,DDTE准准备就绪绪DTR5信号地GND6输入,MMODEEM准备备就绪DSR7输出,请请求发送送RTS8输入,允允许发送送CTS9输入,振振铃指示示DELLL表2.11 DBB9引脚脚说明(3) 字符(帧帧)格式式RS-2
26、232CC采用起起止式异异步通信信协议,其其特点是是一个字字符接着着一个字字符进行行传输,并并且传输输一个字字符总是是以起始始位开始始,以停停止位结结束,字字符之间间没有固固定的时时间间隔隔要求。其其传输格格式如图图2.44所示,每每一个字字符的前前面都有有一位起起始位(低低电平,逻逻辑“0”),字字符本身身有58位数数据位,接接着字符符后面是是一位校校验码(也也可以没没有校验验码),最最后是停停止位。停停止位后后面是不不定长度度的空闲闲位。停停止位和和空闲位位都规定定为高电电平(逻逻辑值“1”),这样样就能保保证起始始位开始始处一定定有一个个下跳沿沿,便于于接受方方识别。校验位(可以没有)起
27、始位数据停止位接收方发送方1 x 1 1 1 1 1 0 1 1 0数据流方向1 1 1 1 1 1 0 1 1 01 1 11 0 1 0数据单元之间的间隔图2.4 串行传输的工作原理示意图从图22.4 中可以以看出,这这种格式式是靠起起始位和和停止位位来实现现字符的的界定或或同步的的,故称称为起止止式协议议。没有有统一的的时钟,没没有同步步字符,依依靠起始始位和停停止位标标识每一一帧,传传输时,数数据的地地位在前前,高位位在后。起始位位实际上上是作为为同步信信号附加加进来的的,当它它变为低低电平时时,告诉诉接受方方传输开开始,后后面接着着是数据据位;而而停止位位则标志志一个字字符的结结束。
28、这这样就为为通信双双方提供供了何时时开始收收发、何何时结束束的标志志。传输输开始前前,收发发双方把把所采用用的字符符格式(包包括字符符的数据据位长度度、停止止位位数数、有无无校验位位以及是是奇校验验还是偶偶校验等等)和数数据的传传输速率率进行统统一规定定。传输输开始后后,接收收设备不不断地检检测线路路,看是是否有起起始位到到来。当当收到一一系列的的“1”(停止止位或空空闲位)之之后,检检测到一一个下跳跳沿(由由“1”变为“0”),说说明起始始位出现现,起始始位经确确认后,就就开始接接收所规规定的数数据位和和奇偶校校验位以以及停止止位。然然后去掉掉停止位位,对数数据位进进行串并并转换,并并且经奇
29、奇偶校验验无误后后,才算算正确地地接收到到一个字字符。一一个字符符接收完完毕,接接收设备备又继续续测试线线路,监监视“0”电平的的到来和和下一位位字符的的开始,直直到全部部数据传传输完毕毕。(4)握握手协议议RS-2232CC标准除除了规定定的字符符格式和和通信波波特率以以外,还还在数据据终端设设备DTTE和数数据通信信设备DDCE之之间定义义了一套套握手协协议。握握手协议议的过程程如图22.5所所示。数据终端设备DTE 本地MODEM 远程MODEM 远程DTEDTRDSRRTS呼叫载波信号DCD 载波确认CTSTXD图2.5 DTE与DCE的握手协议过程DTRR:数据据终端设设备DTTE准
30、备备就绪。DDTE加加电并能能正确实实现通信信时,向向DCEE发出DDTR信信号。DSRR:数据据通信设设备DCCE准备备就绪。MMODEEM加电电并能正正确执行行通信功功能时,DDTE发发出DSSR信号号。RTSS:请求求发送。当当DTEE有数据据需要向向另一远远程DTTE传输输时,DDTE在在检测DDSR有有效时向向本地MMODEEM发出出RTSS信号。本本地MOODEMM检测到到RTSS有效,然然后根据据目的电电话号码码向远程程MODDEM发发出呼叫叫。远程程MODDEM收收到该呼呼叫,发发出回答答载波信信号。本本地MOODEMM接受到到此载波波信号,然然后向远远程MOODEMM发出原原
31、载波信信号进行行确认,同同时向DDTE发发出数据据载波信信号DCCD。DCDD:数据据载波信信号检测测。由MMODEEM发向数数据终端端设备DDTE,表表示已检检测到对对方载波波信号。CTSS:允许许发送,当当一个MMODEEM辨认认出对方方MODDEM已已经准备备接收时时,使用用CTSS信号通通知自己己的DTTE,表表示这个个通信通通路已经经做好数数据传输输的准备备,允许许DTEE进行数数据发送送。至此此,通信信链路建建立,可可以通信信。RI:振铃指指示。如如果MOODEMM具有自自动应答答能力,当当对方呼呼叫传来来时,MMODEEM向DDTE发发出该信信号,指指示此呼呼叫。在在电话呼呼叫振
32、铃铃结束后后,MOODEMM在DTTE已准准备好的的情况下下(即DDTR有有效),立立即向对对方自动动应答。(5) 双机互互连方式式双机可以以利用RRS-2232CC通信接接口进行行直接互互连(数数据终端端设备DDTE到到DTEE),即即空MOODEMM连接。这这种形式式在嵌入入式系统统中应用用极为广广泛。由于RSS-2332C标标准中有有两对硬硬件握手手协议的的引线:DTRR和DSSR、RRTS和和CTSS,根据据应用握握手协议议的机制制不同,可可分为33种情况况:无硬硬件握手手、DTTR和DDSR握握手、RRTS和和CTSS握手。 无硬件握握手情况况无硬件握握手的双双机互连连如图22.6所
33、所示。DTE TXD RXD GND DTETXDRXDGND计算机B计算机A图2.6 无握手的双机互连无硬件握握手的连连线最简简单,只只需要33根线,应应用比较较多。但但通信不不可靠,接接收缓冲冲区容易易溢出。 DTR和和DSRR握手情情况DTR和和DSRR握手的的双机互互连如图图2.77所示。 DTETXDRXDGNDDTRDSRDTE TXD RXD GND DTRDSR计算机B计算机A图2.7 DTR和DSR握手的双机互连采用DTTR和DDSR握握手进行行发送和和接收数数据的过过程如下下(设计计算机AA接收,计计算机BB发送):若计算机机A已经经准备就就绪,则则使DTTR有效效。计算算
34、机B通通过采集集DSRR,得知知计算机机A已经经做好接接收数据据的准备备,可以以发送数数据。若若计算机机A为准准备好,则则DTRR无效,计计算机BB通过采采集DSSR,得得知计算算机A尚尚未做好好接收数数据的准准备,停停止发送送数据。 RTS和和CTSS握手情情况RTS和和CTSS握手的的双机互互连如图图2.88所示。DTE TXD RXD GND RTS CTS DTETXDRXDGNDRTSCTS计算机A计算机B图2.8 RTS和CTS握手的双机互连利用RRTS和和CTSS握手进进行发送送和接收收数据的的过程如如下(设设计算机机A接收收、计算算机B发发送):若计算算机A已已经准备备就绪,则
35、则使RTTS有效效。计算算机B通通过采集集CTSS,得知知计算机机A已经经做好接接收数据据的准备备,可以以发送数数据。若若计算机机A未准准备好,则则RTSS无效,计计算机BB通过采采集CTTS,得得知计算算机A尚尚未做好好接收数数据的准准备,停停止发送送数据。2.2 系统硬硬件结构构原理在串口通通信的实实现过程程中,要保证证数据传传输的可可靠性和和稳定性性, 其硬硬件设计计是必不不可少的的, 本文文中选用用S3CC24110芯片片作为核核心器件件。S33C24410芯芯片是SSAMGGSUNNG公司司16/ 322位的RIISC处处理器,采用ARRM9220 TT内核,内部具具有2个独立立的U
36、AART控控制器以以及分开开的166 kBB的指令令Cacche和和16 kB数数据Caachee ,每个个控制器器支持的的最高波波特率可可达到2230. 4 kb/ s。S3CC24110芯片片的这些些特点,为实现现在Liinuxx操作系系统下计计算机与与开发板板间的串串口通信信提供了了可靠的的保证。基基于S33C24410的的嵌入式式串口通通信的硬硬件结构构原理如如图2.99所示: 宿主机(计算机系统) 目标机(开发板)JTAG接口模块电源模块计算机主机设备(带RS-232接口)显示器液晶显示模块S3C2410 ARM芯片串行接口线DIMM200连接器接口模块键盘控制模块键盘外扩存储器模块
37、图2.99 系统统硬件结结构原理理图宿主机即即计算机机系统中中,在LLinuux 操操作系统统下编写写好串口口通信的的程序,通过网网络fttp下载载至目标标机即开开发板中中,在相相应的软软件控制制命令下下,通过过串行接接口线即即可实现现宿主机机与目标标机间数数据的发发送和接接收。目目标机中中电源模模块提供供了开发发板系统统工作所所需的正正常电压压,各种种数据信信息可以以通过液液晶显示示模块及及时显示示出来,还可以以通过键键盘控制制模块来来实现对对目标机机操作的的控制,外扩存存储器模模块可以以由FLLASHH 或SDDRAMM 构成成,当然然作为一一个完整整的系统统,还必必须配有有其他外外围电路
38、路,以保保证系统统的正常常工作。3串口驱驱动程序序设计由于嵌入入式系统统是一个个受资源源限制的的系统,因此不不能直接接在嵌入入式系统统硬件上上进行编编程。作作为一个个完整的的嵌入式式系统,其软件件设计也也是一个个很重要要的方面面。本系系统软件件的实现现是通过过串口设设置和读读写串口口等操作作来完成成宿主机机与目标标机间的的串口通通信。3.1 串口操操作需要要的头文文件在开发嵌嵌入式LLinuux串口口驱动程程序时,需需要以下下头文件件。#inccludde /*标准准输入输输出定义义*/#inncluude /*标准函函数库定定义*/#inncluude /*UNNIX标标准函数数定义*/#i
39、nncluude #inncluude #inncluude /*文文件控制制定义*/#inncluude /*POOSIXX终端控控制定义义*/#inncluude /*错错误号定定义*/3.2 打开串串口在嵌入式式Linnux系系统中,打打开一个个串口设设备和打打开普通通文件一一样。嵌嵌入式LLinuux系统统下的串串口文件件通常位位于/ddev下下:串口口一为/devv/tttyS00;串口口二为/devv/tttyS11。打开串串口时通通过使用用标准的的文件函函数oppen( )来来进行操操作的,下下面假设设以读写写方式打打开串口口一。intt fdd;/文件描描述符fd=opeen(
40、“/deev/tttySS0”,O_RDWWR);/以以读写方方式打开开串口if(fd=-11)/如果不不能打开开串口一一 perrrorr(“提示错错误!”); 3.3 串口设设置在Linnux 系统中中,设备都都是以文文件的形形式表示示的,串口参参数一般般包括波波特率、起起始位数数量、停停止位数数量等。下面对这些串口参数进行详细说明。(1) 起始位通信线路路上没有有数据被被传送时时,处于于逻辑“1”状态。当当发送字字符数数数据是首首先发送送一个逻逻辑“0”信号,这这个逻辑辑低电平平就是起起始位。起起始位通通过通信信线路传传输到接接收端,接接收端检检测到这这个低电电平之后后,就开开始准备备接
41、收数数据位信信号。起起始位所所起的作作用就是是使通信信双方同同步。(2) 数据位当接收端端收到起起始位后后,开始始接收数数据位。数数据位的的个数可可以是558位。在在数据传传送过程程中,数数据位从从最低有有效位开开始传送送,接收收端收到到数据后后,依次次将其转转换成并并行数据据。(3) 奇偶校验验位数据位发发送完后后,为了了保证数数据的可可靠性,还还要传送送一个奇奇偶校验验位。奇奇偶校验验用于差差错检测测。如果果选择偶偶检验,则则数据位位和奇偶偶位的逻逻辑“1”的个数数必须为为偶数,相相反,如如果是奇奇检验,则则数据位位和奇偶偶位的逻逻辑“1”的个数数为奇数数。(4) 停止位在奇偶位位或数据据
42、位(当当无奇偶偶校验时时)之后后发送停停止位。停停止位表表示一个个数据的的结束。它它可以是是12位的低低电平。接接收端收收到停止止位后,通通信线路路便恢复复逻辑“1”的状态态,直到到下一个个数据的的起始位位到来。(5) 波特率通信线路路上传输输的位(码码元)信信号都必必须保持持一致的的信号持持续时间间,单位位时间内内传送码码元的数数目称为为波特率率。对大大多数嵌嵌入式设设备来说说,其波波特率都都设置为为11552000。访问串行行口通过过对设备文文件的访访问来实实现,仅仅需打开开相应的的设备文文件。串口的的设置主主要是设设置sttrucct ttermmioss 结构构体中的的各成员员值。#i
43、nccluddestruuct terrmioounssignned shoort c_iiflaag; /*输入入模式标标志*/unssignned shoort c_ooflaag;/*输出出模式标标志*/unssignned shoort c_ccflaag;/*控制制模式标标志*/unssignned shoort c_llflaag; /*本地模模式标志志*/unssignned chaar cc_liine;/*线线路规范范*/unssignned chaar cc_cccNCCC;/*控控制特征征值*/波特率率设置:struuct terrmioos ooptiion;tcgee
44、tatttr(fd,&opptioon);cfseetisspeeed(&opttionn,B11152000);/*设设置为11152200BBps*/cfseetosspeeed(&opttionn,B11152000);tcseetatttr(fd,TCAANOWW,&ooptiion);检验位位设置:无校验88位:optiionss.c_cfllag &=PARRENBBoptiionss.c_cfllag &=CSTTOPBB;optiionss.c_cfllag &=CSIIZE;optiionss.c_cfllag=CCS8;奇效验(Oddd)7位:optiionss.c_cfllag=PPAREENB;optiionss.c_cfllag &=PARRODDD;optiionss.c_cfllag &=CSTTOPBB;optiionss.c_cfllag &=CSIIZE;optiionss.c_cfllag=CCS7;偶校验