嵌入式系统报告.docx
《嵌入式系统报告.docx》由会员分享,可在线阅读,更多相关《嵌入式系统报告.docx(20页珍藏版)》请在冰豆网上搜索。
嵌入式系统报告
大连理工大学
嵌入式系统实验报告
学院(系):
专业:
班级:
学号:
学生姓名:
2013年11月
实验一:
串口实验预习报告
一、实验目的
1.掌握ARM的串行口工作原理。
2.学习编程实现ARM的UART通讯。
3.掌握CPU利用串口通讯的方法。
二、实验设备实验目
硬件:
ARM嵌入式开发平台、PC机Pentium100以上、用于ARM920T的JTAG仿真器、串口线。
软件:
PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序超级终端通讯程序。
三、实验原理
1.异步串行I/O
异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
数据
的各不同位可以分时使用同一传输通道,因此串行I/O可以减少信号连线,最少用一对线即可进行。
接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
在微型计算机中大量使用异步串行I/O方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。
图3-1给出异步串行通信中一个字符的传送格式。
开始前,线路处于空闲状态,送出连续“1”。
传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。
也可以约定不要奇偶校验,这样就取消奇偶校验位。
最后是表示停止位的“1”信号,这个停止位可以约定持续1位、1.5位或2位的时间宽度。
至此一个字符传送完毕,线路又进入空闲,持续为“1”。
经过一段随机的时间后,下一个字符开始传送才又发出起始位。
每一个数据位的宽度等于传送波特率的倒数。
微机异步串行通信中,常用的波特率为50,95,110,150,300,600,1200,2400,4800,9600等。
接收方按约定的格式接收数据,并进行检查,可以查出以下三种错误:
1)奇偶错:
在约定奇偶检查的情况下,接收到的字符奇偶状态和约定不符。
2)帧格式错:
一个字符从起始位到停止位的总位数不对。
3)溢出错:
若先接收的字符尚未被微机读取,后面的字符又传送过来,则产生溢出错。
每一种错误都会给出相应的出错信息,提示用户处理。
2.串行接口的物理层标准
通用的串行I/O接口有许多种,现仅就最常见的两种标准作简单介绍。
1)EIARS—232C
这是美国电子工业协会推荐的一种标准。
它在一种25针接插件(DB—25)上定义了串行通信的有关信号这个标准后来被世界各国所接受并使用到计算机的I/O接口中。
信号连线在实际异步串行通信中,并不要求用全部的RS—232C信号,许多PC/XT兼容机仅用15针接插件(DB—15)来引出其异步串行I/O信号,而PC中更是大量采用9针接插件(DB—9)来担当此任,因此这里也不打算就RS—232C的全部信号作详细解释。
图3-2给出两台微机利用RS—232C接口通信的联线(无MODEM),我们按DB—25的引脚号标注各个信号。
下面对图3-2中几个主要信号作简要说明。
保护地通信线两端所接设备的金属外壳通过此线相联。
当通信电缆使用屏蔽线时,常利用其外皮金属屏蔽网来实现。
由于各设备往往已通过电源线接通保护地,因此,通信线中不必重复接此地线(图中用虚线表示)。
例如使用9针插头(DB—9)的异步串行I/O接口就没有引出保护地信号。
XD/RXD是一对数据线,TXD称发送数据输出,RXD称接收数据输入。
当两台微机以全双工方式直接通信(无MODEM方式)时,双方的这两根线应交叉联接(扭接)。
信号地所有的信号都要通过信号地线构成耦合回路。
通信线有以上三条(TXD、RXD和信号地)就能工作了。
其余信号主要用于双方设备通信过程中的联络(握手信号),而且有些信号仅用于和MODEM的联络。
若采取微型机对微型机直接通信,且双方可直接对异步串行通信电路芯片编程,若设置成不要任何联络信号,则其它线都可不接。
有时在通信线的同一端将相关信号短接以“自握手”方式满足联络要求。
这就是如图3-2(a)所示的情况。
图3-2实用RS-232C连线
RTS/CTS请求发送值号RTS是发送器输出的准备好信号。
接收方准备好后送回清除发送信号CTS后,发送数据开始进行,在同一端将这两个信号短接就意味着只要发送器准备好即可发送。
DCD载波检测(又称接收线路信号检测)。
本意是MODEM检测到线路中的载波信号后,通知终端准备接收数据的信号,在没有接MODEM的情况下,也可以和RTS、CTS短接。
相对于MODEM而言,微型机和终端机一样被称为数据终端DTE(DataTerminalEquipment)而MODEM被称为数据通信装置DCE(DataCommunicationsEquipment),DTE和DCE之间的连接不能像图3-2中有“扭接”现象,而应该是按接插件芯号,同名端对应相接。
此处介绍的RS—232C的信号名称及信号流向都是对DTE而言的。
DTR/DSR数据终端准备好时发DTR号,在收到数据通信装置装备好DSR信号后,方可通信。
图3-2(a)中将这一对信号以“自握手”方式短接。
R1原意是在MODEM接收到电话交换机有效的拨号时,使RI有效,通知数据终端准备传送。
在无MODEM时也可和DTR相接。
图3-2(b)给出了无MODEM情况下,DTE对DTE异步串行通信线路的完整连接,它不仅适用于微型机和微型机之间的通信,还适用于微型机和异步串行外部设备(如终端机、绘图仪、数字化仪等)的连接。
⑵信号电平规定
RS—232C规定了双极性的信号逻辑电平:
-3V到-25V之间的电平表示逻辑“1”。
+3V到+25V之间的电平表示逻辑“0”。
因此这是一套负逻辑定义。
以上标准称为EIA电平。
PC/XT系列使用的信号电平是-12V和+12V,符合EIA标准,但在计算机内部流动的信号都是TTL电平,因此这中间需要用电平转换电路。
常用芯片MCl488或SN75150将TTL电平转换为EIA电平,MCl489或SN75154将EIA电平转换为TTL电平。
PC/XT系列以这种方式进行串行通信时,在波特率不高于9600的情况下,理论上通信线的长度限制纽为15米。
2)20mA电流环
20mA电流环并没有形成一套完整的标准,主要是将数字信号的表示方法不使用电子的高低,而改用20mA电流的有无:
“1”信号在环路中产生20mA电流;“0”信号无电流产生。
当然也需要有电路来实现TTL电平和20mA电流之间的转换。
图3-3是PC/XT微机中使用的一种20mA电流环接口。
当发送方SOUT=1时,便有20mA电流灌入接收方的光耦合器,于是光耦合器导通,使SIN=1。
反之当发送方SOUT=0时环路电流为零,接收方光耦合器截止,SIN=0。
显然,当要求双工方式通信时,双方都应各有收发电路,通信联线至少要4根。
由于通信双方利用光耦合器实现电气上隔离,而且信号又是双端回路方式,故有很强的抗干扰性,可以传送远至1千米的距离。
图3-320mA电流环接口
“0”、“1”信号的表示方法不同外,其他方面(如字符的传输格式)常借用RS—232C标
准。
因此PC/XT微机中的异步串行信道接口往往将这两种标准做在一起,实际通过跨接线从二者中择一使用。
ARM自带三个UART端口,每个UART通道都有16字节的FIFO(先入先出寄存器)用于
接受和发送。
用系统时钟最大波特率可达230.4K,如果用外部时钟(UCLK)UART可以以更高
的波特率运行。
S3C2410XUART包括可编程波特率,红外发送/接收,插入一个或两个停止位,5字节,6字节,7字节,或8字节数据宽度和奇偶校验。
其特点是:
-----基于DMA或者中断操作的RxD0,TxD0,RxD1,TxD1,RxD2,TxD2。
-----包括IrDA1.0和16字节FIFO的UART通道0,1,2。
-----包括nRTS0,nCTS0,nRTS1和nCTS1的UART通道。
-----支持握手方式的接收/发送
与UART有关的寄存器主要有以下几个:
(1)UART线控制寄存器包括ULCON0,ULCON1和ULCON2,主要用来选择每帧数据位数、
停止位数,奇偶校验模式及是否使用红外模式。
(2)UART控制寄存器包括UCON0,UCON1andUCON2,主要用来选择时钟,接收和发
送中断类型(即电平还是脉冲触发类型),接收超时使能,接收错误状态中断
使能,回环模式,发送接收模式等。
(3)UART错误状态寄存器包括UERSTAT0,UERSTAT1andUERSTAT2,此状态寄存器的相关位表明是否有帧错误或溢出错误发生。
(4)在UART模块中有三个接收/发送状态寄存器,包括UTRSTAT0,UTRSTAT1和UTRSTAT2。
(5)在UART模块中有3个UART发送缓冲寄存器,包括UTXH0,UTXH1和UTXH2,UTXHn有8位发送数据。
(6)在UART模块中有3个UART接收缓冲寄存器,包括URXH0,URXH1和URXH2,URXHn有8位接收数据
(7)UART波特率因子寄存器
实验二:
A/D转换实验预习报告
一、实验目的
1.学习D/A转换原理
2.掌握MAX504D/A转换芯片的使用方法
3.掌握不带有D/A/的CPU扩展D/A功能的主要方法。
二、实验设备
硬件:
ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上、示波器。
软件:
PC机操作系统Win2000或WinXP、ADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
三、实验原理
1.A/D转换器
A/D转换器是模拟信号源和CPU之间联系的接口,它的任务是将连续变化的模拟信号转换为数字信号,以便计算机和数字系统进行处理、存储、控制和显示。
在工业控制和数据采集及许多其他领域中,A/D转换是不可缺少的。
A/D转换器有以下类型:
逐位比较型、积分型、计数型、并行比较型、电压-频率型,主要应根据使用场合的具体要求,按照转换速度、精度、价格、功能以及接口条件等因素来决定选择何种类型。
介绍用到的逐次逼近型的A/D转换器。
逐次逼近型(也称逐位比较式)的A/D转换器,应用比积分型更为广泛,其原理框图如图:
如果Vx≥Vc,说明SAR最高位的“1”应予保留;如果Vx然后再对SAR寄存器的次高位置“1”,依上述方法进行D/A转换和比较。
如此重复上述过程,直至确定SAR寄存器的最低位为止。
此过程结束后,状态线改变状态,表明已完成一次转换。
最后,逐次逼近寄存器SAR中的内容就是与输入模拟量V相对应的二进制数字量。
显然A/D转换器的位数N决定于SAR的位数和D/A的位数。
转换结果能否准确逼近模拟信号,主要取决于SAR和D/A的位数。
位数越多,越能准确逼近模拟量,但转换所需的时间也越长。
2.A/D转换的重要指标
1)分辨率(Resolution):
分辨率反映A/D转换器对输入微小变化响应的能力,通常用数字输出最低位(LSB)所对
应的模拟输入的电平值表示。
n位A/D能反应1/2n满量程的模拟输入电平。
由于分辨率直接与转换器的位数有关,所以一般也可简单地用数字量的位数来表示分辨率,即n位二进制数,最低位所具有的权值,就是它的分辨率。
值得注意的是,分辨率与精度是两个不同的概念,不要把两者相混淆。
即使分辨率很高,也可能由于温度漂移、线性度等原因,而使其精度不够高。
2)精度(Accuracy)
精度有绝对精度(AbsoluteAccuracy)和相对精度(RelativeAccuracy)两种表示方法。
3)转换时间(ConversionTime)
转换时间是指完成一次A/D转换所需的时间,即由发出启动转换命令信号到转换结束信号开始有效的时间间隔。
4)电源灵敏度(powersupplysensitivity)
电源灵敏度是指A/D转换芯片的供电电源的电压发生变化时,产生的转换误差。
一般用电源电压变化1%时相当的模拟量变化的百分数来表示。
3.ARM自带的十位A/D转换器
AS3C440BX芯片内部就自带一个8路A/D转换器,其内部由8通道多路复用模拟输入端、自动调零比较器、时钟发生器、10位连续寄存器和输出寄存器组成。
该转换器是属于逐次逼近SAR型的,可以通过软件设置为Sleep摸式,可以节电减少功率损失。
最大转换率为100Ksps;输入电压范围0-2.5V;分辨率10位;输入带宽0-100HZ(无采样/保持电路)。
ARM芯片与A/D功能有关的引脚:
AIN[7:
0]为8路摸拟采集通道,ADC的模拟输入;AREFT为参考正电压,AREFB为参考负电压,AVCOM为摸拟公共参考电压。
编程注意事项:
1.A/D转换的数据可以通过中断或查询的方式来访问,如果是用中断方式,全部的转换时间(从A/D转换的开始到数据读出)要更长,因为中断服务程序返回和数据的访问的原因。
如果是查询方式则要检测ADCCON[15](转换结束标志位)来确定从ADCDAT寄存器读取的数据是否是最新的转换数据。
2.A/D转换开始的另一种方式是将ADCCON[1]置为1,这时只有有读转换数据的信号A/D转换就会同步开始。
与AD相关的寄存器主要是如下两个:
⑴ADCCON:
A/D转换控制寄存器。
ADCCON寄存器的第15位是转换结束标志位,为1时表示转换结束。
第14位表示A/D转换预定标器使能位,1表示该预定标器开启。
第13-6位表示预定标器的数值,需要注意的是如果这里的值是N,则除数因式是(N+1)。
第5-3位表示模拟输入通道选择位。
第2位表示待用模式选择位。
第1位是读使能A/D转换开始位,第0位值1则A/D转换开始(如果第1位置1,则这位是无效的)。
4.AD转换器在开发平台的接法如下:
即前三路通过分压电位器接到3.3v电源上。
实验三:
电机转动实验预习报告
一、实验目的
1.熟悉ARM本身自带的六路即三对PWM,掌握相应寄存器的配置。
2.编程实现ARM系统的PWM输出和I/O输出,前者用于控制直流电机,后者用于控制步进电机。
3.了解直流电机和步进电机的工作原理,学会用软件的方法实现步进电机的脉冲分配,即用软件的方法代替硬件的脉冲分配器。
4.掌握带有PWM和I/O的CPU编程实现其相应功能的主要方法。
二、实验设备
硬件:
ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。
软件:
PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
三、实验原理
1.直流电机
1)直流电动机的PWM电路原理
晶体管的导通时间也被称为导通角а,若改变调制晶体管的开与关的时间,也就是说通过改变导通角а的大小,如图6-1所示,来改变加在负载上的平均电压的大小,以实现对电动机的变速控制,称为脉宽调制(PWM)变速控制。
在PWM变速控制中,系统采用直流电源,放大器的频率是固定,变速控制通过调节脉宽来实现。
构成PWM的功率转换电路或者采用"H"桥式驱动,或者采用"T"式驱动。
由于"T"式电路要求双电源供电,而且功率晶体管承受的反向电压为电源电压的两倍。
因此只适用于小功率低电压的电动机系统。
而"H"桥式驱动电路只需一个电源,功率晶体管的耐压相对要求也低些,所以应用得较广泛,尤其用在耐高压的电动机系统中。
2)直流电动机的PWM等效电路
如图7-2-a所示:
是一个直流电动机的PWM控制电路的等效电路。
在这个等效电路中,传送到负载(电动机)上的功率值决定于开关频率、导通角度及负载电感的大小。
开关频率的大小主要和所用功率器件的种类有关,对于双极结型晶体管(GTR),一般为lkHz至5kHz,小功率时(100W,5A以下)可以取高些,这决定于晶体管的特性。
对于绝缘栅双极晶体管(IGBT),一般为5kHz至l2kHz;对于场效应晶体管(MOSFET),频率可高达2OkHz。
另外,开关频率还和电动机电感有关,电感小的应该取得高些。
当接通电源时,电动机两端加上电压UP,电动机储能,电流增加,当电源中断时,电枢电感所储的能量通过续流二极管VD继续流动,而储藏的能量呈下降的趋势。
除功率值以外,电枢电流的脉动量也与电动机的转速无关,仅与开关周期、正向导通时间及电机的电磁时间常数有关。
等效电路PWM电路中电流和电压波讨论
4)开发平台中直流电机驱动的实现
开发板中的直流电机的驱动部分如图7-3所示;由于S3C2410X芯片自带PWM定时器,所以控制部分省去了三角波产生电路、脉冲调制电路和PWM信号延迟及信号分配电路,取而代之的是S3C2410X芯片的定时器0、1组成的双极性PWM发生器。
PWM发生器用到的寄存器主要有以下几个:
TCFG0TCFG1TCONTCNTB0&TCMPB0TCNTO0
2.步进电机
1)步进电机概述
步进电机是一种能够将电脉冲信号转换成角位移或线位移的机电元件,它实际上是一种单相或多相同步电动机。
单相步进电动机有单路电脉冲驱动,输出功率一般很小,其用途为微小功率驱动。
多相步进电动机有多相方波脉冲驱动,用途很广。
使用多相步进电动机时,单路电脉冲信号可先通过脉冲分配器转换为多相脉冲信号,在经功率放大后分别送入步进电动机各相绕组。
每输入一个脉冲到脉冲分配器,电动机各相的通电状态就发生变化,转子会转过一定的角度(称为步距角)。
正常情况下,步进电机转过的总角度和输入的脉冲数成正比;连续输入一定频率的脉冲时,电动机的转速与输入脉冲的频率保持严格的对应关系,不受电压波动和负载变化的影响。
由于步进电动机能直接接收数字量的输入,所以特别适合于微机控制。
2)步进电机的种类
目前常用的步进电机有三类:
1、反应式步进电动机(VR)。
它的结构简单,生产成本低,步距角可以做的相当小,但动态性能相对较差。
2、永磁式步进电动机(PM)。
它的出力大,动态性能好;但步距角一般比较大。
3、混合步进电动机(HB)。
它综合了反应式和永磁式两者的优点,步距角小,出力大,动态性能好,是性能较好的一类步进电动机。
3)步进电机的工作原理
现以反应式三相步进电机为例说明其工作原理。
定子铁心上有六个形状相同的大齿,相邻两个大齿之间的夹角为60度。
每个大齿上都套有一个线圈,径向相对的两个线圈串联起来成为一相绕组。
各个大齿的内表面上又有若干个均匀分布的小齿。
转子是一个圆柱形铁心,
外表面上圆周方向均匀的布满了小齿。
转子小齿的齿距是和定子相同的。
设计时应使转子齿数能被二整除。
但某一相绕组通电,而转子可自由旋转时,该相两个大齿下的各个小齿将吸引相近的转子小齿,使电动机转动到转子小齿与该相定子小齿对齐的位置,而其它两相的各
个大齿下的小齿必定和转子的小齿分别错开正负1/3的齿距,形成“齿错位”,从而形成电磁引力使电动机连续的转动下去。
和反应式步进电动机不同,永磁式步进电动机的绕组电流要求正,反向流动,故驱动电路一般要做成双极性驱动。
混合式步进电动机的绕组电流也要求正,反向流动,故驱动电路通常也要做成双极性。
4)开发板中步进电机控制的实现
本开发板中使用的步进电机为四相步进电机。
转子小齿数为64。
系统中采用四路I/O进行并行控制,ARM控制器直接发出多相脉冲信号,在通过功率放大后,进入步进电机的各相绕组。
这样就不再需要脉冲分配器。
脉冲分配器的功能可以由纯软件的方法实现。
图:
四相步进电机在开发板中的接法
四相步距电机的控制方法有四相单四拍,四相单、双八拍和四相双四拍三种控制方式。
步距角的计算公式为:
其中:
m为相数,控制方法是四相单四拍和四相双四拍时C为1,控制方法是四相单、双八拍时C为2,Zk为转子小齿数。
本系统中采用的是四相单、双八拍控制方法,所以步距角为360°/512。
但步进电机经过一个1/8的减速器引出,实际的步距角应为360°/512/8。
开发平台中使用EXI/O的高四位控制四相步进电机的四个相。
按照四相单、双八拍控制方法,电机正转时的控制顺序为A→AB→B→BC→C→CD→D→DA。
EXI/O的高四位的值参见表
图:
电机正转时,EXI/O的高四位的值
反转时,只要将控制信号按相反的顺序给出即可。
可以通过宏SETEXIOBITMASK(bit,mask)(EXIO.h)来设置扩展I/O口,其中mask参数为0xf0。
实验四:
LCD驱动控制实验预习报告
一、实验目的
1.了解LCD基本概念与原理。
2.理解LCD的驱动控制。
3.熟悉用总线方式驱动LCD模块。
4.熟悉用ARM内置的LCD控制器驱动LCD。
二、实验设备
硬件:
ARM嵌入式开发平台、用于ARM920T的JTAG仿真器、PC机Pentium100以上。
软件:
PC机操作系统Win2000或WinXP、ARMADS1.2集成开发环境、仿真器驱动程序、超级终端通讯程序
三、实验原理
1.LCD(LiquidCrystalDisplay)原理
液晶得名于其物理特性:
它的分子晶体,以液态存在而非固态。
这些晶体分子的液体特性使得它具有两种非常有用的特点:
1、如果让电流通过液晶层,这些分子将会以电流的流向方向进行排列,如果没有电流,它们将会彼此平行排列。
2、如果提供了带有细小沟槽的外层,将液晶倒入后,液晶分子会顺着槽排列,并且内层与外层以同样的方式进行排列。
液晶的第三个特性是很神奇的:
液晶层能使光线发生扭转。
液晶层表现的有些类似偏光器,这就意味着它能够过滤除了那些从特殊方向射入之外的所有光线。
此外,如果液晶层发生了扭转,光线将会随之扭转,以不同的方向从另外一个面中射出。
液晶的这些特点使得它可以被用来当作一种开关——即可以阻碍光线,也可以允许光线通过。
液晶单元的底层是由细小的脊构成的,这些脊的作用是让分子呈平行排列。
上表面也是如此,在这两侧之间的分子平行排列,不过当上下两个表面之间呈一定的角度时,液晶随着两个不同方向的表面进行排列,就会发生扭曲。
结果便是这个扭曲的螺旋层使通过的光线也发生扭曲。
如果电流通过液晶,所有的分子将会按照电流的方向进行排列,这样就会消除光线的扭转。
如果将一个偏振滤光器放置在液晶层的上表面,扭转的光线通过(如图A),而没有发生扭转的光线(如图B)将被阻碍。
因此可以通过电流的通断改变LCD中的液晶排列,使光线在加电时射出,而不加电时被阻断。
也有某些设计为了省电的需要,有电流时,光线不能通过,没有电流时,光线通过。
LCD显示器的基本原理就是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。
因此,LCD的驱动控制归于对每个液晶单元的通断电的控制,每个液晶单元都对应着一个电极,对其通电,便可使光线通过(也有刚好相反的,即不通电时光线通过,
通电时光线不通过)。