图3-16 UART接收缓冲区
UART发送缓冲区(UTBn)
发送缓冲寄存器包含了发送存储寄存器和发送位移寄存器。当UART的状态寄存器(USRn)的TXRDY位置1时,发送存储器就从总线读取数据。当位移寄存器为空时,检查存储寄存器是否已将全部有效数据发送完毕。
图3-17 UART发送缓冲区
输入变化寄存器(UIPCRn)
可以检测总线上的变化,不是常用
图3-18 输入变化寄存器
辅助控制寄存器(UACRn)
图3-19辅助控制寄存器
只有一位,IEC位是输入使能控制。 中断寄存器/屏蔽寄存器(UISRn/UIMRn)
图3-20中断寄存器/屏蔽寄存器
UART最多允许产生4个中断请求,1个来自于发送部分,3个来自于接收部分。UART中断状态寄存器(UISR)提供这4个中断请求标志。下面是对每一个UART中断的解释。 TXRDY-发送就绪:当CPU写下一个字符,TB为空并且被清0时,UART发送器将该标志置1。当UART允许发送下一个字符就绪时,该标志也置1。
FFULL/RXRDY-FIFO满/接收就绪:当接收器的RB中有数据,并且通过CPU准备读时,
该标志置1。用户可以选择中断请求源RXRDY或者FIFO满,该选择是通过UART模式寄存器1(UMR1)中的接收中断选择(RxIRQ/FFULL)控制位。清除或设置RxIRQ/FFULL位将选择相应的RXRDY或FFULL中断源。当CPU读RB时,将自动清除RXRDY中断标志;当选择FFULL作为中断源时,读FIFO并且有一个或多个空槽时,该标志被清0。
DB-Delta Break:只要当接收器检测到一个Break字时,该标志被置1。接收器接收到的字符全是零、并且没有停止位时,检测到Break条件。破字用于向接收器指出:远程的发送器已经中断了报文发送。有时候,当发送器出现一些非正常情况时,报文中断需要重新同步;比如,发送器的欠载就是一种情况,这可能需要发送一个破字。通过发送RESET BREAK CHANGE INTERRUPT命令,DB标志清0;而该命令是通过写UART控制寄存器MISC位域的值为[101]来实现的。
COS-状态改变(Change-of-state):当需要流控制时,接收器可被编程来自动取消和使请求发送(RTS)输出信号有效;在这种情况下,当检测到一个有效的起始位和三阶FIFO满时,接收器自动取消RTS。当FIFO位置变成有效时,接收器使RTS有效;所以通过连接RTS输出与发送设备的CTS输入,可以预防溢出错误。发送器CTS输入有效表明远程接收器的CPU准备接收下一个字符。在这种情况下,当CTS信号有效时,发送器只发送数据字符。任何时候,当CTS引脚上由高到低或由低到高的转变时,发送器将检测到这种变化。通过读取UART输入端口改变寄存器(UIPCR),发送器可以核对CTS输入信号的准确状态改变。读UIPCR将自动取消COS中断标志位。
要使每一个UART中断源使能允许,在UART中断屏蔽寄存器(UMIR)中相应的中断屏蔽位必需被置1。当需要产生一个DMA请求来取代CPU的中断请求时,应用软件通过写它们在UIMR中相应的屏蔽位为0来屏蔽TXRDY和RXRDY。 比特率寄存器(UBG1n/UBG2n)
图3-21 比特率寄存器(高8位)
图3-22 比特率寄存器(低8位)
用于存放计算出的比特率,计算公式如下:
设置比特率存储器,要注意的是,16位寄存器分高8位(UBG1)和低8位(UBG2),存储时要分别存储,C语言程序描述:
MCF_UART_UBG1(uartch) = (uint8)((ubgs & 0xFF00) >> 8);//设置比特率寄存器高8位 MCF_UART_UBG2(uartch) = (uint8)(ubgs & 0x00FF);//设置比特率寄存器低8位 d) 发送和接收的UART配置 (1) 初始化过程
为了允许UART发送和接收报文,执行下面的步骤:
(1.1)通过写UART时钟选择寄存器(UCSR),来选择发送器和接收器的时钟源。 (1.2)使用下面的公式选择需要的波特率:
假设我们使用60MHz系统时钟频率,并且需要设置UART的波特率为9600Hz,对于分频因子:
(1.3)这个值取十进制的195,并且将0x00C3写入16位UART波特率寄存器UBG1和UBG2。 (1.4)将UART命令寄存器(UCR)中MISC值写为[001],发送一个RESET命令,复位模式寄存器指针。该命令使模式寄存器指针指向UART模式寄存器1(UMR1)。 (1.5)将UMR1写入配置值,选择下面的选项:
如果需要,选用请求发送(RTS)功能,控制清除发送(CTS)。 选择接收器中断源:RXRDY或者FIFO满。 选择字符或者FIFO错误模式。 选择奇偶模式和类型。
选择每个字符的位数。
(1.6)写UART中UMR2,选择下面的选项:
选择UART模式,对于正常通道模式写CM = ?00?。
选择发送器的RTS和CTS操作;如果接收器RTS功能用于控制发送器的清除发送输入,TXCTS位置?1?。
选择停止位的位数,对于一个停止位SB域位写入[0000]。
(1.7)写UIMR2以允许中断请求,UART最多可以产生4个中断请求:TXRDY、RXRDY或FIFO满、Delta中断、状态改变。
(1.8)将UART控制寄存器TC和RC位域值分别写为[001]和[001],发送器和接收器使能允许。 (1.9)初始化适当的PACR发送UART信号引脚上。注意,只要发送器允许,就产生一个中断请求;因为TXRDY和TXEMP标志被置1,表明发送器为空。 (2) 每个字节的发送顺序 字节的发送顺序如下:
(2.1).读UART状态寄存器,确定接收器或发送器是否有请求。
(2.2).如果TXRDY标志位置1,写下一个字符到发送缓冲区(TB)。写TB将自动清除发送标志。
(2.3).为后续的字符传输重复步骤(1)。
(2.4).当最后一个字符写入TB时,所有的数据位移出串行移位寄存器之后,设置TXEMP标志;发送DISABLE TRANSMITTER 命令,清除TXEMP和TXRDY标志。
(2.5).如果有多个报文需要发送,用TRANSMITTER ENABLE命令重新允许发送器。 (3) 每个字节的接收顺序 字节的接收顺序如下:
(3.1).读UART状态寄存器,确定接收器或发送器是否有请求。 (3.2).如果设置了RXRDY标志,检查与接收字符相关的错误标志。 (3.3).如果检测到错误,发送RESET RECIEVER命令,接收器复位。
(3.4).读UART接收器,读接收缓冲区(RB)将自动清除RXRDY和FIFO满标志位。 (3.5).将接收的字符存到存储器中。
(3.6).重复步骤(1)~(5),直到接收完所有报文。
(3.7).发送DISABLE RECIEVER命令,使接收器变为禁止状态。 4 音频处理方案
ML2308是立体声录音/播放大规模集成电路(LSI),在单个芯片中集成了
录音和播放音频数据所需的所有功能。话筒或线性输入的模拟信号被模.数转换器 转换成数字信号,经由缓冲存储器输出到外部设备。此外,从外部设备输入的数 字信号由1比特数一模转换器转换为PWM信号,然后由PWM驱动器输出。 ML2308的PWM驱动器可以直接驱动耳机。与混合模拟电路的LSI相比, ML2308中的绝大部分信号是数字化处理,相比起利用PWM外接模拟滤波放大电 路的音频电路,其信噪比更高。所以,虽然MCF52223控制芯片自带的PWM 模块也可以作为数模转换使用,但是,由于用ML2308能节省更多MCU处理负担、 提供更好的音质以及更丰富的控制能力。所以,在设计中采用了ML2308作为音 频输入和输出模块。
ML2308主要特性如下:
用户接口
1.支持串行外围设备接口(SPI)或8比特总线接口。
2.音频数据缓冲存储器128字节(左右通道各64字节)。 3.输出脚FUL,MID,EMP指示缓冲存储器状态。 4.编码解码器/音频信号输入输出。
音频合成模式:
p率G711适应性8比特PCM编码,8比特/16比特线性PCM编码,8比
特OKI非线性PCM编码,2比特/3比特/4比特/5比特/6比特/7比特/8 比特ADPCM2编码。
·取样频率:4.OkHz--48kHz(指令设置)。
·内置立体声△.Σ1比特A/D转换器S/(N.巾):80 dB DR,S/N:85 dB。 ·内置立体声△.Σ1比特D/A转换器S/m):75 dB DR,S/N:85 dB。 ·内置PWM驱动器驱动扬声器(最大150roW,RL=16 Q,BTL时)。 ·话筒放大器×2,线性输入放大器×2(立体声)。 ·动态范围控带IJ(DRC)自动录音电平调整功能。 ·录音输入电平检测功能。
控制指令
·音量控制:256阶,0 dB~--48.16 dB,OFF。 ·PAN控制:16 steps,0 dB一之4.08 dB,OFF。 工作环境
●电源电压:+2.7 V~+3.6 V。 ●工作温度:.20。C~+70。C。. ●源振荡器频率:24.576MI-Iz。
3.1.2 方案描述
1 车体方案:小车才有大赛提供的开发套件进行车模组装,采用四轮相对结构,因为车轮本身可以有两个自由度的运动,所以如此安装可以保证车体可以自由完成4个方向的位移动作和许多复杂运动。 2 车模控制方案:我们利用9S12DG128的8通道8位PWM组成4通道16位PWM通道分
别控制4个电机。
3 运动控制方案:
A:遥控模式:操作员用手柄通过无线数据传输模块向主控模块发送命令,经过主控模块的识别将命令转化为PWM信号输出,从而完成对小车运动的控制。
B:自动模式:灰度图像采集模块采集的数据,通过图像处理模块后将分析得到的路径信息发送给主控模块,再有其转化为PWM信号输出,完成对小车的控制 5 图像数据控制方案:
A 自动方案:首先定时采集灰度图像,经分析后若判断为可以图像,发送命令给彩色图像采集模块进行采集,并最后将彩色图像和灰度图像分析处理结果数据同过无线方式发送给上位机
B 手动方案:由操作员利用手柄发送命令经过无线模块进行被认为需要的采集和传输操作。 6 其它信息采集方案:
A 自动方案:由定时器管理,每隔固定时间进行数据采集并发送给上位机显示
B 手动方案:由操作员利用手柄发送命令经过无线模块进行被认为需要的采集和传输操作。
3.2 机械机构
3.2.1 底盘结构:
小车采用大赛指定的创意组车模搭建,四轮相对排布(如下图),借由车轮的特殊结构实现两个自由度的任意运动,达到最大限度的灵活性!
图3.23底盘结构
3.2.2 整体结构