




已阅读5页,还剩69页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第5章基于S3C2410的系统硬件设计,5.1S3C2410简介,S3C2410是Samsung公司推出的16/32位RISC处理器,主要面向手持设备以及高性价比、低功耗的应用。CPU内核采用的是ARM公司设计的16/32位ARM920TRISC处理器。,S3C2410A提供一组完整的系统外围设备:,2个USB主设备接口,1个USB从设备接口;4通道PWM定时器和1通道内部定时器;看门狗定时器;117位通用I/O口和24通道外部中断源;电源控制模式包括:正常、慢速、空闲和掉电四种模式;8通道10位ADC和触摸屏接口;具有日历功能的RTC;使用PLL的片上时钟发生器。,1.8V/2.0V内核供电,3.3V存储器供电,3.3V外部I/O供电;具有16KB的ICache和16KB的DCache以及MMU;外部存储器控制器;LCD控制器提供1通道LCD专用DMA;4通道DMA并有外部请求引脚;3通道UART和2通道SPI;1通道多主机IIC总线和1通道IIS总线控制器;SD主接口版本1.0和MMC卡协议2.11兼容版;,S3C2410结构框图,5.1.1S3C2410A的特点,体系结构系统管理器NANDFlash启动装载器Cache存储器时钟和电源管理中断控制器具有脉冲带宽调制(PWM)的定时器RTC(实时时钟)通用I/O口UARTDMA控制器A/D转换和触摸屏接口,LCD控制器STNLCD显示特性TFT彩色显示特性看门狗定时器IIC总线接口IIS总线接口USB主设备USB从设备SD主机接口SPI接口工作电压封装,5.1.2存储器控制器,S3C2410A的存储器控制器提供访问外部存储器所需要的存储器控制信号。,支持小/大端(通过软件选择)地址空间:每bank有128M字节(总共有8个banks,共1G字节)除bank0(只能是16/32位宽)之外,其他bank都具有可编程的访问大小(可以是8/16/32位宽)总共有8个存储器banks(bank0bank7)其中6个banks用于ROM,SRAM等剩下2个banks用于ROM,SRAM,SDRAM等7个固定的存储器bank(bank0bank6)起始地址最后一个bank(bank7)的起始地址是可调整的最后两个bank(bank6bank7)的大小是可编程的所有存储器bank的访问周期都是可编程的总线访问周期可以通过插入外部等待来延长支持SDRAM的自刷新和掉电模式,特性,存储器映射,5.1.3NANDFlash控制器,特性,NANDFlash模式:支持读/擦除/编程NANDFlash存储器。自动启动模式:复位后,启动代码被传送到Steppingstone中。传送完毕后,启动代码在Steppingstone中执行。具备硬件ECC(校验码,ErrorCorrectionCode)生成模块(硬件生成校验码,通过软件校验)。NANDFlash启动以后,4KB的内部SRAM缓冲器Steppingstone可以作为其他用途使用。NANDFlash控制器不能通过DMA访问,可以使用LDM/STM指令来代替DMA操作。,NANDFlash控制器的结构框图,NANDFlash的工作方式,NANDFlash存储器的时序,5.1.4时钟和电源管理,时钟和电源管理模块包括三部分:时钟控制:CPU所需的FCLK时钟信号、AHB总线外围设备所需的HCLK时钟信号,以及APB总线外围设备所需的PCLK时钟信号。USB控制电源控制,正常模式慢速模式空闲模式掉电模式,5.2.1S3C2410A的I/O口工作原理,S3C2410A共有117个多功能复用输入输出口(I/O口),分为8组PORTAPORTH。PORTA除了作为功能口外,它只作为输出口使用;其余的PORTBPORTH都可以作为输入输出口使用。8组I/O口按照其位数的不同,可分为:1个23位的输出口(PORTA)2个11位的I/O口(PORTB和PORTH)4个16位的I/O口(PORTC、PORTD、PORTE、PORTG)1个8位的I/O口(PORTF),与配置I/O口相关的寄存器包括:端口控制寄存器(GPACONGPHCON)端口数据寄存器(GPADATGPHDAT)端口上拉寄存器(GPBUPGPHUP)杂项控制寄存器外部中断控制寄存器(EXTINTN),5.2.2I/O口编程实例,举例:通过对G口的操作控制CPU板左下角的LED1和LED2实现轮流闪烁。,voidMain(void)intflag,i;Target_Init();/进行硬件初始化操作,包括对I/O口的初始化操作for(;)if(flag=0)for(i=0;i1000000;i+);/延时rGPGCON=rGPGCON,5.3.1ARM的中断原理,ARM系统包括两类中断:一是IRQ中断,一是FIQ中断。,处理中断的步骤如下:(1)保存现场。保存当前的PC值到R14,保存当前的程序运行状态到SPSR。(2)模式切换。根据发生的中断类型,进入IRQ模式或FIQ模式。(3)获取中断源。以异常向量表保存在低地址处为例,若是IRQ中断,则PC指针跳到0 x18处;若是FIQ中断,则跳到0 x1C处。IRQ或FIQ的异常向量地址处一般保存的是中断服务子程序的地址,所以接下来PC指针跳入中断服务子程序处理中断。(4)中断处理。为各种中断定义不同的优先级别,并为每一个中断设置一个中断标志位。当发生中断时,通过判断中断优先级以及访问中断标志位的状态来识别到底哪一个中断发生了。进而调用相应的函数进行中断处理。(5)中断返回,恢复现场。当完成中断服务子程序后,将SPSR中保存的程序运行状态恢复到CPSR中,R14中保存的被中断程序的地址恢复到PC中,进而继续执行被中断的程序。,5.3.2S3C2410A的中断控制器,中断控制器使用的寄存器,优先级生成模块,5.3.3中断编程实例,举例:通过定时器1中断控制CPU板左下角的LED1和LED2实现轮流闪烁。,1对定时器1初始化,并设定定时器的中断时间为1秒。voidTimer1_init(void)rGPGCON=rGPGCON/启动定时器1,自动装载,举例:通过定时器1中断控制CPU板左下角的LED1和LED2实现轮流闪烁。,2为了使CPU响应中断,在中断服务子程序执行之前,必须打开ARM920T的CPSR中的I位,以及相应的中断屏蔽寄存器中的位。voidTimer1INT_Init(void)/定时器接口使能if(rINTPND/开中断;3等待定时器中断,通过一个死循环如“while(1);”实现等待过程。,举例:通过定时器1中断控制CPU板左下角的LED1和LED2实现轮流闪烁。,4根据设置的定时时间,将产生定时器中断。定时器中断发生后,首先进行现场保护,接下来转入中断的入口代码处执行,该部分代码通常使用汇编语言书写。在执行中断服务程序之前,首先要确保HandleIRQ地址处保存中断分发程序IsrIRQ的入口地址。ldrr0,=HandleIRQldrr1,=IsrIRQstrr1,r0接下来将执行IsrIRQ中断分发程序,具体代码如下:IsrIRQsubsp,sp,#4;为保存PC预留堆栈空间stmfdsp!,r8-r9ldrr9,=INTOFFSETldrr9,r9;加载INTOFFSET寄存器值到r9ldrr8,=HandleEINT0;加载中断向量表的基地址到r8addr8,r8,r9,lsl#2;获得中断向量ldrr8,r8;加载中断服务程序的入口地址到r8strr8,sp,#8;保存sp,将其作为新的pc值ldmfdsp!,r8-r9,pc;跳转到中断服务子程序执行,举例:通过定时器1中断控制CPU板左下角的LED1和LED2实现轮流闪烁。,5执行中断服务子程序,该子程序实现将LED1和LED2灯熄灭或点亮,从现象中看到LED1和LED2灯闪烁一次,则说明定时器发生了一次中断。intflag;void_irqTimer1_ISR(void)if(flag=0)rGPGDAT=rGPGDAT6从中断返回,恢复现场,跳转到被中断的主程序继续执行,等待下一次中断的到来。,5.4.1DMA工作原理,所谓DMA方式,即直接存储器存取(DirectMemoryAcess),是指存储器与外设在DMA控制器的控制下,直接传送数据而不通过CPU,传输速率主要取决于存储器存取速度。,采用DMA方式进行数据传输的具体过程如下:(1)外设向DMA控制器发出DMA请求;(2)DMA控制器向CPU发出总线请求信号;(3)CPU执行完现行的总线周期后,向DMA控制器发出响应请求的回答信号;(4)CPU将控制总线、地址总线及数据总线让出,由DMA控制器进行控制;(5)DMA控制器向外部设备发出DMA请求回答信号;(6)进行DMA传送;(7)数据传送完毕,DMA控制器通过中断请求线发出中断信号。CPU在接收到中断信号后,转入中断处理程序进行后续处理。(8)中断处理结束后,CPU返回到被中断的程序继续执行。CPU重新获得总线控制权。,要进行DMA操作,首先要对S3C2410A的相关寄存器进行正确配置。每个DMA通道有9个控制寄存器,因此对于4通道的DMA控制器来说总共有36个寄存器。其中每个DMA通道的9个控制寄存器中有6个用于控制DMA传输,另外3个用于监控DMA控制器的状态。,DMA操作的相关寄存器,DMA初始源寄存器(DISRC)DMA初始源控制寄存器(DISRCC)DMA初始目标地址寄存器(DIDST)DMA初始目标控制寄存器(DIDSTC)DMA控制寄存器(DCON)DMA状态寄存器(DSTAT)DMA当前源寄存器(DCSRC)DMA当前目标寄存器(DCDST)DMA屏蔽触发寄存器(DMASKTRIG),5.4.3DMA编程实例,举例:使用DMA方式实现从存储器到串口0进行数据发送。,#defineSEND_DATA(*(volatileunsignedchar*)0 x30200000)#defineSEND_ADDR(volatileunsignedchar*)0 x30200000)/待发送数据的起始地址voidMain(void)volatileunsignedchar*p=SEND_ADDR;inti;Target_Init();Delay(1000);SEND_DATA=0 x41;/初始化要发送的数据for(i=0;i128;i+)*p+=0 x41+i;rUCON0=rUCON0,5.5.1UART的工作原理,UART(UniversalAsynchronousReceiverandTransmitter,通用异步收发器)是广泛使用的串行数据传输方式。,RS232C是通用的串行数据传输接口标准,其DB9引脚定义如下:,RS-232C接口的基本连接方式,简单连接,完全连接,UART的功能和组成,UART的主要功能是将数据以字符为单位,按照先低位后高位的顺序进行逐位传输。根据发送方和接收方是否使用同一个时钟,通讯方式分成同步和异步两种。,UART主要由数据线接口、控制逻辑、配置寄存器、波特率发生器、发送部分和接收部分组成。UART以字符为单位进行数据传输,每个字符的传输格式如下:,5.5.2S3C2410A的UART,S3C2410A的UART提供3个独立的异步串行I/O口(SIO),它们都可以运行于中断模式或DMA模式。,S3C2410A的每个UART由波特率发生器、发送器、接收器以及控制单元组成。,与UART相关的操作,1数据发送2数据接收3自动流控制(AuroFlowControl,AFC)4RS-232接口5中断/DMA请求发生6波特率发生波特率时钟通过把源时钟除以16再除以一个16位的因子得到,该16位的因子可以在UART波特率因子寄存器(UBRDIVn)中指定。UBRDIVn(int)(PCLK/(bps16)-1UBRDIVn(int)(UEXTCLK/(bps16)-17回送模式8红外模式,与UART相关的寄存器,UART行控制寄存器(ULCONn)UART控制寄存器(UCONn)UARTFIFO控制寄存器(UFCONn)UARTModem控制寄存器(UMCONn)UARTTX/RX状态寄存器(UTRSTATn)UART错误状态寄存器(UERSTATn)UARTFIFO状态寄存器(UFSTATn)UARTMODEM状态寄存器(UMSTATn)UART发送缓冲寄存器(UTXHn)UART接收缓冲寄存器(URXHn)UART波特率因子寄存器(UBRDIVn),5.5.3UART编程实例,举例:从UART0接收数据,然后分别从UART0和UART1发送出去。,1定义与UART相关的寄存器。,#definerULCON0(*(volatileunsigned*)0 x50000000)/UART0行控制寄存器#definerUCON0(*(volatileunsigned*)0 x50000004)/UART0控制寄存器#definerUFCON0(*(volatileunsigned*)0 x50000008)/UART0FIFO控制寄存器#definerUMCON0(*(volatileunsigned*)0 x5000000c)/UART0Modem控制寄存器#definerUTRSTAT0(*(volatileunsigned*)0 x50000010)/UART0Tx/Rx状态寄存器#definerUERSTAT0(*(volatileunsigned*)0 x50000014)/UART0Rx错误状态寄存器#definerUFSTAT0(*(volatileunsigned*)0 x50000018)/UART0FIFO状态寄存器#definerUMSTAT0(*(volatileunsigned*)0 x5000001c)/UART0Modem状态寄存器#definerUBRDIV0(*(volatileunsigned*)0 x50000028)/UART0波特率因子寄存器,2对串口进行初始化操作。参数pclk为时钟源的时钟频率,band为数据传输的波特率。,举例:从UART0接收数据,然后分别从UART0和UART1发送出去。,voidUart_Init(intpclk,intbaud)inti;if(pclk=0)pclk=PCLK;rUFCON0=0 x0;/UART0FIFO控制寄存器,FIFO禁止rUFCON1=0 x0;/UART1FIFO控制寄存器,FIFO禁止rUFCON2=0 x0;/UART2FIFO控制寄存器,FIFO禁止rUMCON0=0 x0;/UART0MODEM控制寄存器,AFC禁止rUMCON1=0 x0;/UART1MODEM控制寄存器,AFC禁止/UART0rULCON0=0 x3;/行控制寄存器:正常模式,无奇偶校验,1位停止位,8位数据位。rUCON0=0 x245;/控制寄存器rUBRDIV0=(int)(pclk/16./baud+0.5)-1);/波特率因子寄存器,举例:从UART0接收数据,然后分别从UART0和UART1发送出去。,3使用串口发送数据。其中whichUart为全局变量,指示当前选择的UART通道,使用串口发送一个字节的代码如下:,voidUart_SendByte(intdata)if(whichUart=0)if(data=n)while(!(rUTRSTAT0elseif(whichUart=1)elseif(whichUart=2),举例:从UART0接收数据,然后分别从UART0和UART1发送出去。,4使用串口接收数据。如果没有接收到字符则返回0。,charUart_GetKey(void)if(whichUart=0)if(rUTRSTAT0,举例:从UART0接收数据,然后分别从UART0和UART1发送出去。,5书写主函数。实现的功能为从UART0接收字符,然后将接收到的字符再分别从UART0和UART1发送出去,其中Uart_Select(n)用于选择使用的传输通道为UARTn。,voidMain(void)chardata;Target_Init();while(1)data=Uart_GetKey();/接收字符if(data!=0 x0)Uart_Select(0);/从UART0发送出去Uart_Printf(key=%cn,data);Uart_Select(1);/从UART1发送出去Uart_Printf(key=%cn,data);Uart_Select(0);,5.6.1A/D接口原理,A/D转换器是模拟信号和CPU之间联系的接口,它将连续变化的模拟信号转换为数字信号,以供计算机和数字系统进行分析、处理、存储、控制和显示。,双积分型的A/D转换器逐次逼近型的A/D转换器,按照转换速度、精度、功能以及接口等因素,常用的A/D转换器有以下两种:,5.6.2S3C2410A的A/D转换器,S3C2410A的A/D转换器包含一个8通道的模拟输入转换器,可以将模拟输入信号转换成10位数字编码。在AD转换时钟为2.5MHz时,其最大转换率为500KSPS,输入电压范围是03.3V。,与A/D转换相关的寄存器:,ADC控制寄存器(ADCCON)ADC触摸屏控制寄存器(ADCTSC)ADC启动延时寄存器(ADCDLY)ADC转换数据寄存器(ADCDATn),5.6.3A/D接口编程实例,举例:从A/D转换器的通道0获取模拟数据,并将转换后的数字量以波形的形式在LCD上显示。,1定义与A/D转换相关的寄存器。,#definerADCCON(*(volatileunsigned*)0 x58000000)/ADC控制寄存器#definerADCTSC(*(volatileunsigned*)0 x58000004)/ADC触摸屏控制寄存器#definerADCDLY(*(volatileunsigned*)0 x58000008)/ADC启动或间隔延时寄存器#definerADCDAT0(*(volatileunsigned*)0 x5800000c)/ADC转换数据寄存器0#definerADCDAT1(*(volatileunsigned*)0 x58000010)/ADC转换数据寄存器1,2对A/D转换器进行初始化。这里的参数ch表示选择的通道号。,voidAD_Init(unsignedcharch)rADCDLY=100;/ADC启动或间隔延时rADCTSC=0;/选择ADC模式rADCCON=(114)|(496)|(ch3)|(02)|(04);/为转换准确,除以16取均值,4书写主函数。实现将转换后的数据在LCD上以波形的方式显示。,主要内容,1,3,2,4,S3C2410简介,I/O口,中断,DMA,5,A/D接口,6,UART,触摸屏,7,8,9,10,11,LCD,USB设备的数据收发,音频录放,键盘和LED控制,5.7.1键盘和LED的接口原理,HA7279A是一片具有串行接口并可同时驱动8位共阴式数码管或64只独立LED的智能显示驱动芯片。该芯片同时可连接多达64键的键盘矩阵,一片即可完成LED显示及键盘接口的全部功能。,HA7279A一共有28个引脚:RESET:复位端。通常,该端接5V电源;DIG0DIG7:个LED管的位驱动输出端;SASG:LED数码管的段段的输出端;DP:小数点的驱动输出端;RC:外接振荡元件连接端。HD7279A与微处理器仅需条接口线:CS:片选信号(低电平有效);DATA:串行数据端。CLK:数据串行传送的同步时钟输入端,时钟的上升沿表示数据有效。KEY:按键信号输出端。该端在无键按下时为高电平;而在有键按下时变为低电平,并一直保持到按键释放为止。,HD7279A与S3C2410A的连接原理图,5.7.2键盘和LED控制的编程实例,举例:通过按键来控制LED的显示。,1键盘中断的初始化,voidKeyINT_Init(void)rGPFCON=(rGPFCON,举例:通过按键来控制LED的显示。,2书写中断服务子程序,void_irqKey_ISR(void)intj;rINTMSK|=BIT_ALLMSK;/关中断if(rEINTPEND,举例:通过按键来控制LED的显示。,3主程序的主要功能是根据按键键值,向HD7279A发送不同的处理命令,程序结构如下。,voidMain()charp;Target_Init();/目标初始化while(1)switch(key_number)case0:send_byte(cmd_test);/测试键break;case1:for(p=0;p22)1);rLCDSADDR2=M5D(U32)frameBuffer8Bit+(SCR_XSIZE_CSTN)*LCD_YSIZE_CSTN)1);rLCDSADDR3=(SCR_XSIZE_CSTN-LCD_XSIZE_CSTN)/2)(x)%4)*8)|(c,4书写主函数,通过调用初始化函数及绘图API函数,实现在LCD上填充一个蓝色的矩形,并画一个红色的圆。,voidMain(void)intCount=3000;Target_Init();/硬件初始化GUI_Init();/图形用户接口初始化,包括对LCD的初始化Set_Color(GUI_BLUE);Fill_Rect(0,0,319,239);Delay(Count);Set_Color(GUI_RED);Draw_Circle(100,100,50);Delay(Count);while(1);,主要内容,1,3,2,4,S3C2410简介,I/O口,中断,DMA,5,A/D接口,6,UART,触摸屏,7,8,9,10,11,LCD,USB设备的数据收发,音频录放,键盘和LED控制,5.9.1触摸屏工作原理,根据采用的不同技术原理,触摸屏可分为以下五类:矢量压力传感式、电阻式、电容式、红外线式和表面声波式。其中电阻式触摸屏在嵌入式系统中用的较多,结构如下。,5.9.2S3C2410A的触摸屏接口,S3C2410A支持触摸屏接口,它由一个触摸屏面板、四个外部晶体管、一个外部电压源、信号AIN7和信号AIN5组成。,CPU与触摸屏连接图,5.9.3触摸屏编程实例,举例:在触摸屏上按下的位置画一个点。,1对与触摸屏相关的寄存器进行初始化,voidTouch_Init(void)rADCDLY=(0 x5000);/ADC启动或间隔延时rADCTSC=(08)|(17)|(16)|(05)|(14)|(03)|(02)|(3);/设置成为等待中断模式:1101rADCCON=(114)|(496)|(73)|(02)|(11)|(0);/设置ADC控制寄存器,举例:在触摸屏上按下的位置画一个点。,2对触摸屏中断进行初始化,voidTouchINT_Init(void)if(rSRCPND/设置中断向量,举例:在触摸屏上按下的位置画一个点。,3书写触摸屏中断服务程序,当有触笔按下时,转到中断服务程序执行。,void_irqTouch_ISR(void)intAD_XY,yPhys,xPhys;/关中断rINTMSK|=(BIT_ADC);rINTSUBMSK|=(BIT_SUB_ADC|BIT_SUB_TC);/关闭子中断(ADC和TC)/获取位置AD_XY=GetTouch_XY_AD();/得到阿A/D转换后的X/Y值yPhys=(AD_XY),举例:在触摸屏上按下的位置画一个点。,4书写主程序,首先对硬件及图形用户界面进行初始化,接下来通过一个while循环语句等待触摸屏中断的发生,一旦有触摸屏中断发生,则转到触摸屏中断服务程序执行。,voidMain(void)Target_Init();/初始化硬件GUI_Init();/初始化图形用户界面/背景填充为蓝色Set_Color(GUI_BLUE);Fill_Rect(0,0,319,239);/设置当有触笔按下时,在LCD上画点的颜色为黄色Set_Color(GUI_YELLOW);/等待触摸屏中断while(1),主要内容,1,3,2,4,S3C2410简介,I/O口,中断,DMA,5,A/D接口,6,UART,触摸屏,7,8,9,10,11,LCD,USB设备的数据收发,音频录放,键盘和LED控制,5.10.1音频录放的实现原理,声波是在时间上和幅度上都连续的模拟信号,我们称之为模拟音频信号。而计算机的内部是一个二进制的世界,二进制是计算机唯一能够识别的语言。因此为了让计算机能够对音频信号进行存储和处理,必须将模拟音频信号进行数字化。数字化的过程涉及到采样、量化和编码等步骤,我们把数字化后的音频信号称之为数字音频信号。,录音过程:把模拟音频转换成数字音频的过程,通常通过AD转换器(ADC)实现。放音过程:把数字音频转换成模拟音频的过程,该过程与AD转换过程相反,通常通过DA转换器(DAC)实现。,5.10.2S3C2410A的IIS总线接口,IIS总线是近年出现的一种面向多媒体计算机的音频总线,该总线专门用于音频设备之间的数据传输。IIS总线接口是为连接标准编解码器(CODEC)提供的外部接口。S3C2410AIIS(Inter-ICSound)接口能用来连接一个外部8/16位立体声音频CODEC。,与IIS相关的寄存器,IIS控制寄存器(IISCON)IIS模式寄存器(IISMOD)IIS预分频寄存器(IISPSR)IISFIFO控制寄存器(IISFCON)IISFIFO寄存器(IISFIFO),5.10.3音频录放的编程实例,举例:实现语音的实时录制和实时播放功能,/由于使用DMA方式进行语音录放,因此这里需要注册DMA中断pISR_DMA2=(unsigned)TX_Done;pISR_DMA1=(unsigned)RX_Done;rINTMSK,/录音过程,DMA1用于音频输入rDMASKTRIG1=(12)|(01);/初始化DMA通道1rDISRC1=(U32)IISFIFO;/接收FIFO地址rDISRCC1=(11)|(10);/源=APB,地址固定rDIDST1=(U32)(rxdata);rDIDSTC1=(01)|(00);/目标=AHB,地址增加rDCON1=(031)|(030)|(129)|(028)|(027)|(224)|(123)|(122)|(120)|(0 xffff0);/握手模式,与APB同步,中断使能,单元发送,单个服务模式,目标=I2SSDI/硬件请求模式,不自动重加载,半字rDMASKTRIG1=(11);/DMA1通道打开/初始化IIS,用于接收rIISCON=(05)|(14)|(11);/发送DMA请求禁止,接收DMA请求使能,IIS预分频器使能rIISMOD=(08)|(16)|(05)|(04)|(13)|(02)|(10);/主模式,接收模式,IIS格式,16位,256fs,32fsrIISPSR=(85)|(80);/50.7/9=5.6448rIISFCON=(015)|(114)|(013)|(112);/发送FIFO=正常,接收FIFO=DMA,发送FIFO禁止,接收FIFO使能rIISCON|=(10);/IIS使能while(!Rx_Done);Rx_Done=0;/IIS停止Delay(10);/用于结束半字/字接收rIISCON=0 x0;/IIS停止rDMASKTRIG1=(12);/DMA1停止rIISFCON=0 x0;/发送/接收FIFO禁止,/放音过程,DMA2用于音频输出rDMASKTRIG2=(12)|(01);/初始化DMA通道2rDISRC2=(U32)(rxdata);rDISRCC2=(01)|(00);/源=AHB,地址增加rDIDST2=(U32)IISFIFO;/发送FIFO地址rDIDSTC2=(11)|(10);/目标=APB,地址固定rDCON2=(031)|(030)|(129)|(028)|(027)|(024)|(123)|(122)|(120)|(0 xffff0);/握手模式,与APB同步,中断使能,单元发送,单个服务模式,目标=I2SSDO/硬件请求模式,不自动重加载,半字rDMASKTRIG2=(11);/DMA2通道打开/初始化IIS,用于发送rIISCON=(15)|(04)|(11);/发送DMA请求使能,接收DMA请求禁止,IIS预分频器使能rIISMOD=(08)|(26)|(04)|(13)|(02)|(10);/主模式,发送模式,IIS格式,16位,256fs,32fsrIISPSR=(85)|(80);/预分频值A=45Mhz/8,预分频值B=45Mhz/2rIISFCON=(115)|(014)|(113)|(012);/发送FIFO=DMA,接收FIFO=正常,发送FIFO使能,接收FIFO禁止rIISCON|=(10);while(!Tx_Done);Tx_Done=0;rIISCON=0 x0;/IIS停止rDMASKTRIG2=(12);/
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 历史期末专题复习提纲2024-2025学年统编版七年级历史下册
- 交通设备制造业数字化转型中的智能制造与产品生命周期管理实践报告
- 社区心理健康服务在2025年的发展现状与推广策略报告
- 智能信用体系在共享出行平台的应用与推广报告
- 国产医疗器械2025年市场竞争力:技术创新与品牌影响力分析报告
- 装备制造业2025年自主研发与产业链协同创新研究报告
- 生态修复工程2025年生物多样性保护与生态修复项目生态修复生态系统恢复路径研究报告
- 供应链金融如何优化中小企业供应链金融资源配置与风险管理报告
- 2025年养老地产市场需求变化与适老化产品设计趋势分析报告
- 2025年BIM技术在建筑项目全过程管理中的信息化管理与智能决策报告
- 2022年黑龙江省龙东地区中考地理试题及参考答案
- 混凝土模板支撑工程专项施工方案(140页)
- T∕CADERM 3041-2020 扩展的创伤重点超声评估规范
- 苏教版四年级数学下册试卷(全套)
- 五年级北师大版英语下学期语法填空易错专项练习题
- 100道结构力学弯矩图
- GRACE评分表教学提纲
- 机械连接扭矩检查记录
- 水利水电工程砖砌体单元评定表
- GB_T 24359-2021 第三方物流服务质量及测评(高清-现行)
- 院士专家工作站管理办法
评论
0/150
提交评论