实验一基本接口实验(一)[实验设备]1.JXARM9-2410教学实验箱2.ADT1000仿真器和ADT IDE集成开发环境3.串口、并口连接线[实验目的]1.掌握ARM的串行口工作原理,编程实现ARM的UART通讯;2.掌握嵌入式系统中断的处理流程和ARM中断编程;3.在ADT环境下如何建立工程,对工程进行正确的设置。
添加相应文件(汇编、脚本、.c 源文件等)[实验内容一]实现查询方式串口的收发功能。
接收来自串口(通过超级终端)的字符并将接收到的字符发送到超级终端。
[预备知识]1.了解ADT集成开发环境的基本功能2.学习串口通讯的基本知识3. 熟悉S3C2410串口有关的寄存器[基础知识]串行通信接口电路组成1.可编程的串行接口芯片2.波特率发生器3.EIA与TTL电平转换器4.地址译码电路通信协议:1.异步协议2.同步协议异步串行通讯异步串行方式是将传输数据的每个字符一位接一位(例如先低位、后高位)地传送。
数据的各不同位可以分时使用同一传输通道,因此串行I/O 可以减少信号连线,最少用一对线即可进行。
接收方对于同一根线上一连串的数字信号,首先要分割成位,再按位组成字符。
为了恢复发送的信息,双方必须协调工作。
在微型计算机中大量使用异步串行I/O 方式,双方使用各自的时钟信号,而且允许时钟频率有一定误差,因此实现较容易。
但是由于每个字符都要独立确定起始和结束(即每个字符都要重新同步),字符和字符间还可能有长度不定的空闲时间,因此效率较低。
异步串行通信中的字符传送格式开始前,线路处于空闲状态,送出连续“1”。
传送开始时首先发一个“0”作为起始位,然后出现在通信线上的是字符的二进制编码数据。
每个字符的数据位长可以约定为5位、6位、7位或8位,一般采用ASCII编码。
后面是奇偶校验位,根据约定,用奇偶校验位将所传字符中为“1”的位数凑成奇数个或偶数个。
也可以约定不要奇偶校验,这样就取消奇偶校验位。
最后是表示停止位的“1”信号,这个停止位可以约定持续1 位、1.5 位或2 位的时间宽度。
至此一个字符传送完毕,线路又进入空闲,持续为“1”。
经过一段随机的时间后,下一个字符开始传送才又发出起始位。
每一个数据位的宽度等于传送波特率的倒数。
微机异步串行通信中,常用的波特率为110,150,300,600,1200,2400,4800,9600 等。
DB-25 DB-9引脚定义DB-25 DB-9引脚说明RS-232C接口通信的两种基本连接方式信号电平规定1.EIA电平:双极性信号逻辑电平, 它是一套负逻辑定义2.-3V到-25V之间的电平表示逻辑“1”3.+3V到+25V之间的电平表示逻辑“0”4.TTL电平:计算机内部(S3C2410)使用TTL电平5.电平转换电路:常用专门的RS-232接口芯片,如SP3232、SP3220等,在TTL电平和EIA电平之间实现相互转换。
S3C2410异步串行口控制器1.S3C2410自带三个异步串行口控制器2.每个控制器有16字节的FIFO(先入先出寄存器)3.最大波特率115.2K4.每个UART有7种状态:溢出错误,校验错误,帧错误,暂停态,接收缓冲区准备好,发送缓冲区空,发送移位缓冲器空,这些状态可以由相应的UTRSTATn或UERSTATn 寄存器表示,并且与发送接收缓冲区相对应的有错误缓冲区5.波特率的大小可以通过设置波特率寄存器(UBRDIVn)控制,计算公式如下:使用PCLK时的计算公式如下:UBRDIVn = (int)[PCLK/(波特率×16)]–1使用UCLK时的计算公式如下:UBRDIVn = (int)[UCLK/(波特率×16)]–1例如:使用PCLK,在40 MHz的情况下,当波特率取115 200 bps时,UBRDIVn = (int)[/(×16)]–1 = 20[实验步骤]1、建立一个串口UART工程。
2、编写编写主函数,并保存为main.c文件,将该文件加入到工程中。
主函数中包括以下功能:(1)串口初始化/* 配置系统时钟*/ChangeClockDivider(1,1); // 1:2:4ChangeMPllValue(0xa1,0x3,0x1); // FCLK=202.8MHz/* 初始化端口*/3Port_Init();/* 初始化串口*/Uart_Init(0,);Uart_Select(0);(2)发送数据unsigned char ch = 'a';ch = Uart_Getch();(3)接收数据Uart_SendByte(ch)4、编译、下载运行程序查看程序是否正常。
实现从键盘键入字符在屏幕显示功能。
[试验内容二]编写中断处理程序,处理外部中断。
[基础知识]CPU与外设之间传输数据的控制方式1、查询方式查询方式的优点是硬件开销小,使用起来比较简单,但在此方式下,CPU要不断地查询外设的状态,当外设未准备好时,CPU就只能循环等待,不能执行其它程序,这样就浪费了CPU的大量时间,降低了CPU的利用率。
2、中断方式当CPU进行主程序操作时,外设的数据已存入输入端口的数据寄存器;或端口的数据输出寄存器已空,由外设通过接口电路向CPU发出中断请求信号,CPU在满足一定的条件下,暂停执行当前正在执行的主程序,转入执行相应能够进行输入/输出操作的子程序,待输入/输出操作执行完毕之后CPU再返回并继续执行原来被中断的主程序。
这样CPU就避免了把大量时间耗费在等待、查询状态信号的操作上,使其工作效率得以大大地提高3、DMA方式当高速外设要与系统内存或者要在系统内存的不同区域之间,进行大量数据的快速传送时,查询方式和中断方式可能不能满足要求,直接存储器存取(DMA)就是为解决这个问题提出的采用DMA方式,在一定时间段内,由DMA控制器取代CPU,获得总线控制权,来实现内存与外设或者内存的不同区域之间大量数据的快速传送。
中断处理示意图向CPU发出中断请求的设备或事件称为中断源,断点处产生中断请求,CPU执行中断流程,响应中断,并执行用户定义的中断服务子程序处理完毕,执行中断返回动作,主程序继续运行。
中断响应中断源向CPU发出中断请求,若优先级别最高,CPU在满足一定的条件下,可以中断当前程序的运行,保护好被中断的主程序的断点及现场信息。
然后,根据中断源提供的信息,找到中断服务子程序的入口地址,转去执行新的程序段,这就是中断响应。
中断服务子程序S3C2410的中断控制器:1、中断源状态寄存器该寄存器的32位中每一位对应一个中断源。
如果相应中断源产生中断请求则其对应位被置为1。
该寄存器中的位将自动由中断请求置位,而不管INTMASK寄存器中的掩码位是否有效。
另外,该寄存器不受中断控制器的优先级逻辑影响。
在中断服务程序中,该寄存器的相应位必须进行清零处理,清零的方法是将该位写入1。
2、寄存器中断模式3、中断屏蔽寄存器4、优先级寄存器5、中断状态寄存器6、中断偏移寄存器5[实验步骤]1、建立一个中断工程。
2、编写外部中断处理程序的中断服务函数,并保存为main.c文件,将该文件加入到工程中。
3、在中断服务函数中添加代码实现如下功能:每触发一次中断,跑马灯闪烁一次。
4、编译、下载运行程序查看程序是否正常。
[实验报告要求]1、实验报告包括实验目的、实验内容、实验步骤、实验结果和实验小结。
2、写出在ADT环境下如何建立工程,对工程进行正确的设置步骤。
3、写出串口工程主函数源码、中断工程主函数和中断处理函数源码。
4、截图显示实验结果并说明。
实验二基本接口实验(二)[试验设备]1.JXARM9-2410教学实验箱2.ADT1000仿真器和ADT IDE集成开发环境3.串口、并口连接线[实验目的]1.了解实时时钟在嵌入式系统中的作用,掌握实时时钟的使用;2.了解触摸屏基本概念与原理,编程实现并掌握对触摸屏的控制;掌握S3C2410寄存器配置方法。
3.在ADT环境下如何建立工程,对工程进行正确的设置。
添加相应文件(汇编、脚本、.c 源文件等)[实验内容一]编程实现实时时钟功能,每秒显示实时时钟、编程实现实时时钟告警功能。
[预备知识]1、了解ADT集成开发环境的基本功能2、学习S3C2410的实时时钟模块的使用[基础知识]1、实时时钟在嵌入式系统中的作用在一个嵌入式系统中,实时时钟单元可以其提供可靠的时钟,包括时分秒和年月日;即使在系统处于关机状态下它也能够正常工作(通常采用后备电池供电),它的外围也不需要太多的辅助电路,典型的就是只需要一个高精度的晶振。
S3C2410的实时时钟单元❑时钟数据采用BCD编码❑能够对闰年的年月日进行自动处理❑具有告警功能,当系统处于关机状态时,能产生告警中断;❑具有独立的电源输入❑提供毫秒级时钟中断,该中断可用于作为嵌入式操作系统的内核时钟2、S3C2410的实时时钟寄存器控制寄存器7告警控制寄存器实时时钟计数器告警时间寄存器实时时钟寄存器[实验步骤]1、建立RTC工程,添加相应文件并修改RTC的工程设置。
2、创建main.c编写程序,并将该文件加入到工程RTC中。
3、时钟功能测试。
4、时间告警功能测试。
[实验内容二]1.编程实现触摸屏坐标到LCD坐标的校准2.编程实现触摸屏坐标采集以及LCD坐标的计算[预备知识]1.了解ADT集成开发环境的基本功能2.学习触摸屏的原理3.了解触摸屏与显示屏的坐标转换[基础知识]触摸屏的基本原理触摸屏按其工作原理的不同分为:电阻技术触摸屏电阻触摸屏是与显示器表面非常配合的电阻薄膜屏,这是一种多层复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(ITO氧化铟,透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层、内表面也涂有一层ITO涂层、在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。
当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,控制器侦测到这一接触并计算出(X,Y )的位置,再根据模拟鼠标的方式运作。
主要特点:1.高解析度,高速传输反应92.表面硬度处理,减少擦伤、刮伤及防化学处理3.具有光面及雾面处理4.一次校正,稳定性高,永不漂移表面声波技术触摸屏表面声波技术是利用声波在物体的表面进行传输,当有物体触摸到表面时,阻碍声波的传输,换能器侦测到这个变化,反映给计算机,进而进行鼠标的模拟。
主要特点:1.清晰度较高,透光率好2.高度耐久,抗刮伤性良好3.一次校正不漂移4.反应灵敏缺点:易污损,需要经常维护电容技术触摸屏利用人体的电流感应进行工作。
用户触摸屏幕时,由于人体电场,用户和触摸屏表面形成以一个耦合电容,对于高频电流来说,电容是直接导体,于是手指从接触点吸走一个很小的电流。