第5章 设计实例精讲_第1页
第5章 设计实例精讲_第2页
第5章 设计实例精讲_第3页
第5章 设计实例精讲_第4页
第5章 设计实例精讲_第5页
已阅读5页,还剩112页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章设计实例精讲第5章设计实例精讲1.最小引导系统及UART开发实例2.中断处理开发实例3.IIS设计开发5.1最小系统及UART开发实例概述

一个嵌入式处理器自己是不能独立工作的,必须给它供电、加上时钟信号、提供复位信号,如果芯片没有片内程序存储器,则还要加上存储器系统,然后嵌入式处理器芯片才可能工作。这些提供嵌入式处理器运行所必须的条件的电路与嵌入式处理器共同构成了这个嵌入式处理器的最小系统。而大多数基于ARM7处理器核的微控制器都有调试接口,这部分在芯片实际工作时不是必需的,但因为这部分在开发时很重要,所以也把这部分也归入最小系统中。5.1最小系统及UART开发框图嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)可选,因为许多面向嵌入式领域的微控制器内部集成了程序和数据存储器可选,但是在样品阶段通常都会设计这部分电路嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)各部件简介——电源供电系统(电源)电源系统为整个系统提供能量,是整个系统工作的基础,具有极其重要的地位,但却往往被忽略。如果电源系统处理得好,整个系统的故障往往减少了一大半。5.1.1硬件电路设计各部件简介——电源嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)供电系统(电源)设计电源时要考虑的因素:1.输出的电压、电流、功率;2.输入的电压、电流;3.安全因素;4.输出纹波;5.电池兼容和电磁干扰;6.体积限制;7.功耗限制;8.成本限制。各部件简介——电源1.分析需求

S3C44B0x需要3组电源输入:数字3.3V、数字2.5V、模拟3.3V。因此,理想情况下电源系统需要提供3组独立的电源:两组3.3V电源和一组2.5V电源,它们需要单点接地或大面积接地。如果系统的其它部分还有其它电源需求,则还需要更多的末级电源。但如果不使用AD功能,或对AD的要求不高,模拟电源和数字电源可以不分开供电。这里假设不使用的AD功能,且其它部分对电源没有特殊要求。这样,末级只需要提供两组电源。各部件简介——电源2.设计末级电源电路

S3C44B0x微控制2.5V消耗电流的极限值为80mA。为了保证可靠性并为以后升级留下余量,则电源系统2.5V能够提供的电流应当大于300mA。整个系统在3.3V上消耗的电流与外部条件有很大的关系,这里假设电流不超过200mA,这样,电源系统3.3V能够提供600mA电流即可。分析得到以下参数:3.3V电源设计最大电流:600mA;2.5V电源设计最大电流:300mA。各部件简介——电源LM1117主要特点:

0.8A稳定输出电流;

1A稳定峰值电流;

3V可调节; 低静态电流;

0.8A时低压差为1.1V;

0.1%线形调整率;

0.2%负载调整率; 过流及温度保护;

多种封装供选择。

各部件简介——电源3.设计前级电源电路尽管LM1117允许的输入电压可达20V(参考芯片数据手册),但太高的电压使芯片的发热量上升,散热系统不好设计,同时影响芯片的性能。这样,就需要前级电路调整一下。如果系统可能使用多种电源(如交流电和电池),各种电源的电压输出不一样,就更需要前级调整以适应末级的输入。通过之前的分析,前级的输出选择为5V。选择5V作为前级的输出有两个原因:这个电压满足LM1117的要求;目前很多器件还是需要5V供电的,这个5V可以兼做前级和末级了。各部件简介——电源3.设计前级电源电路根据系统在5V上消耗的电流和体积、成本等方面的考虑,前级电路可以使用开关电源,也可以使用模拟电源。它们的特别如下:开关电源:效率较高,可以减少发热量,因而在功率较大时可以减小电源模块的体积;模拟电源:电路简单,输出电压纹波较小,并且干扰较开关电源小得多。开关电源嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)各部件简介——时钟目前所有的微控制器均为时序电路,需要一个时钟信号才能工作,大多数微控制器具有晶体振荡器。简单的方法是利用微控制器内部的晶体振荡器,但有些场合(如减少功耗、需要严格同步等情况)需要使用外部振荡源提供时钟信号。时钟系统各部件简介——时钟目前所有的微控制器均为时序电路,需要一个时钟信号才能工作,大多数微控制器具有晶体振荡器。简单的方法是利用微控制器内部的晶体振荡器,但有些场合(如减少功耗、需要严格同步等情况)需要使用外部振荡源提供时钟信号。S3C44b0XX1X2CCXtalS3C44b0XX1X2CClock使用内部振荡器使用外部时钟源可以使用稳定的时钟信号源,如有源晶振等。嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)各部件简介——存储器系统对于大部分微控制器来说,存储器系统不是必需的,但如果微控制器没有片内程序存储器或数据存储器时,就必须设计存储器系统,这一般通过微控制器的外部总线接口实现。存储器系统各部件简介——存储器系统SDRAM存储器系统FLASH存储器系统嵌入式控制器时钟系统调试测试接口复位及其配置系统存储器系统供电系统(电源)各部件简介——调试与测试接口调试与测试接口不是系统运行必须的,但现代系统越来越强调可测性,调试、测试接口的设计也要重视了。S3C44B0X有一个内置JTAG调试接口,通过这个接口可以控制芯片的运行并获取内部信息。调试测试接口FLASH存储器系统固态硬盘UART接口电路UART是通用异步收发器的简称连接两个计算机系统的简单而且低成本的串行接口具有工业标准的异步数据通讯接口比高速的串行通讯更加稳定可靠所需的通讯线路比并行传输少可进行长距离传输(RS232=50英尺,RS485为4千英尺)UART是如何运作的?各种系统间互相通讯的手段UART发送端从发送处理器处获取数据并逐位把每个字节发送出去UART接收端每次接收一个位,然后把接收到的位拼接成数据发送给接收处理器在UART的发送和接收过程中能够检测到通讯的错误大幅的减轻了处理器在管理通讯信道方面的任务负担CPU发送端CPU接收端中断中断串口通讯满载空载空载发送移位寄存器接收移位寄存器满载并行接口发送UART

发送UART

5.1.2软件开发1

工程文件组织2

代码分析软件完成功能设计:1)引导系统启动2)以115200波特率接受上位计算机的串口数据,并转发给上位显示(1)软件模块插件安装步骤(2)软件工程建立(3)打开工程(4)编写用户程序(5)编译及测试程序最基本boot程序FirstBoot工程代码5.1.3代码分析1,44binit.s1)常数定义2)MACRO定义

$HandlerLabelHANDLER$HandleLabel3)IMPORTADS环境定义4)ENTRY汇编入口(AREAInit,CODE,READONLY)5)VECTOR_BRANCH向量表6)LTORG

用于声明一个数据缓冲池,(也称为文字池)的开始。

(1)44binit.s代码分析1,44binit.s 7)非矢量中断处理

8)ResetHandler处理

9)Setclockcontrolregisters 10)Setmemorycontrolregister 11)初始化堆栈

12)设置IRQhandler

1,44binit.s 13)设置IRQhandler 14)RWdata/zeroinitializeddata 15)跳转到C-Main()函数---其它数据区定义RAM地址范围(0x0c000000~0x0c7fffff)ROM地址范围(0x00000000~0x001fffff)a,RAM及ROM区存储安排RAM地址安排1中断向量区

_ISR_STARTADDRESS

(0x0c7f

ff00~0x0c7f

ff84)2中断向量区

(_ISR_STARTADDRESS-9216-16)

UserStack # 4096 ;c1(c7)ffa00

SVCStack # 1024 ;c1(c7)ffb00

UndefStack # 1024 ;c1(c7)ffc00

AbortStack # 1024 ;c1(c7)ffd00

IRQStack # 2048 ;c1(c7)ffe00

FIQStack # 0 ;c1(c7)fff003RW和ZI数据区

LDRr1,=|Image$$RW$$Base|;由RWbase地址指定

LDRr3,=|Image$$ZI$$Base|

RAM地址安排RAM地址安排|Image$$RW$$Base|;由RWbase地址指定|Image$$RW$$Limit|=|Image$$RW$$Base|+RWData|Image$$ZI$$Base|=|Image$$RW$$Limit|+1|Image$$ZI$$Limit|=|Image$$ZI$$Base|+ZIData

ROM地址安排LDR r0,=|Image$$RO$$Limit| ;GetpointertoROMdataROM地址安排|Image$$RO$$Base|=Imageentrypoint|Image$$RO$$Limit|=程序代码起始地址+代码长度+1

44binit.s运行流程分析中断处理下节分析/*************************************************NAME :MAIN.C **BY:WangJianping*DESC:C程序的入口主程序,用户相关开发均在该文件开始*Version:2008-09-12 ************************************************/

//头文件引用#include"..\inc\option.h"#include"..\inc\44b.h"#include"..\inc\44blib.h"#include"..\inc\def.h"voidMain(void){ //1)变量定义区

//2)系统CACHE及相关PLL处理区

rSYSCFG=SYSCFG_8KB;#if(PLLON==1)

ChangePllValue(PLL_M,PLL_P,PLL_S);#endif(1)main.c代码分析

//3)平台端口处理区

Port_Init(); Uart_Init(0,115200);

//4)平台中断处理区

//5)用户代码处理区

Uart_SendString(0,"\n\t欢迎使用测试程序,编写:王剑平\n"); while(1) { charucTemp;

ucTemp=Uart_GetKey(0);

if(ucTemp!=0) { Uart_SendByte(0,ucTemp); } RunLed_Blind(1000); }}5.2中断系统开发实例S3C44B0X中断特点1、支持30个中断源,包括8个外部中断源2、中断控制器支持26个中断信号,其中外部中断4/5/6/7复用到一个中断信号上(读EXTINTPND寄存器来判断)3、每个中断信号处理均可独立设置成FIQ或者IRQ模式4、中断信号处理均可采用矢量处理方法(vectorinterruptmode)或者非矢量处理方法5、支持中断优先级排队非矢量中断处理方式非矢量中断处理模式是一种传统的中断处理方法。当系统产生中断的时候,系统将interruptpending寄存器中对应中断的标志位置位,然后跳转到位于0x18处的统一中断处理函数中,该中断函数通过读取interruptpending寄存器来判断中断源,并根据优先级关系再跳转到对应中断源的处理代码内。非矢量中断处理流程图矢量中断处理方式

①当CPU读取位于0x18处的IRQ中断处理指令时候,系统自动读取对应于该中断源的确定地址上的指令取代0x18处的指令.②通过跳转指令,系统就直接跳转到对应的中断处理函数中,节省了中断处理时间,提高了中断处理速度。矢量中断处理流程图中断相关操作寄存器程序状态寄存器中的F-bit和I-bit;中断模式设置(FIQ,IRQ);未处理中断寄存器I-flag/F-flag,I-ISPC/F-ISPC中断屏蔽寄存器INTMSK,如果该寄存器的某一个位被置1,则该位对应的中断响应被禁止了。如果某个中断在INTMSK寄存器的对应位为0,则这个中断发生时将会正常被响应。如果某个中断的在INTMSK的寄存器中的对应位为1,但是这个中断发生了,它的pending位还是会置位。如果全局屏蔽位被置1,那么当中断发生时,中断pending位还是会置位,但是所有的中断都不会得到服务;中断源中断优先级(P239)向量中断地址中断相关寄存器1,INTERRUPTCONTROLREGISTER(INTCON);2,INTERRUPTPENDINGREGISTER(INTPND);3,INTERRUPTMODEREGISTER(INTMOD);4,INTERRUPTMASKREGISTER(INTMSK);5,IRQPRIORITYOFSLAVEREGISTER(I_PSLV);6,IRQPRIORITYOFMASTERREGISTER(I_PMST);7,CURRENTIRQPRIORITYOFSLAVEREGISTER(I_CSLV);8,CURRENTIRQPRIORITYOFMASTERREGISTER(I_CMST);9,IRQINTERRUPTSERVICEPENDINGREGISTER(I_ISPR);10,IRQ/FIQINTERRUPTSERVICEPENDINGCLEARREGISTER(I_ISPC/F_ISPC);1,INTERRUPTCONTROLREGISTER(INTCON)2,INTERRUPTPENDINGREGISTER(INTPND)2,INTERRUPTPENDINGREGISTER(INTPND)Eachofthe26bitsintheinterruptpendingregister,INTPND,correspondstoaninterruptsource.Whenaninterruptrequestisgenerated,itwillbesetto1.Theinterruptserviceroutinemustthenclearthependingconditionbywriting'1'tothecorrespondingbitofI_ISPC/F_ISPC.Althoughseveralinterruptsourcesgeneraterequestssimultaneously,theINTPNDwillindicateallinterruptsourcesthatgenerateaninterruptrequest.EveniftheinterruptsourceismaskedbyINTMSK,thecorrespondingpendingbitcanbesetto1.3,INTERRUPTMODEREGISTER(INTMOD)4,INTERRUPTMASKREGISTER(INTMSK)IRQVECTOREDMODEREGISTERSTheprioritygeneratingblockconsistsoffiveunits,1masterunitand4slaveunits.Eachslaveprioritygeneratingunitmanagessixinterruptsources.Themasterprioritygeneratingunitmanages4slaveunitsand2interruptsources.Eachslaveunithas4programmableprioritysource(sGn)and2fixedprioritysources(kn).Thepriorityamongthe4sourcesineachslaveunitisdeterminedtheI_PSLVregister.Theother2fixedprioritieshavethelowestpriorityamongthe6sources.Themasterprioritygeneratingunitdeterminestheprioritybetween4slaveunitsand2interruptsourcesusingtheI_PMSTregister.The2interruptources,INT_RTCandINT_ADC,havethelowestpriorityamongthe26interruptsources.Ifseveralinterruptsarerequestedatthesametime,theI_ISPRregistershowsonlytherequestedinterruptsourcewiththehighestpriority.5,IRQPRIORITYOFSLAVEREGISTER(I_PSLV)6,IRQPRIORITYOFMASTERREGISTER(I_PMST);7,CURRENTIRQPRIORITYOFSLAVEREGISTER(I_CSLV);8,CURRENTIRQPRIORITYOFMASTERREGISTER(I_CMST);9,IRQINTERRUPTSERVICEPENDINGREGISTER(I_ISPR);参见官方pdf文档10,RQ/FIQINTERRUPTSERVICEPENDINGCLEARREGISTER(I_ISPC/F_ISPC)IRQINTERRUPTSERVICEPENDINGREGISTER(I_ISPR),I_ISPRindicatestheinterruptbeingcurrentlyserviced.Althoughtheseveralinterruptpendingbitsareallturnedononlyonebitwillbeturnedon.软件设计功能要求实现嵌套中断使用定时器4,采用中断方式实现RUNLED闪烁使用外部中断0,控制RUNLED是否闪烁软件设计代码实现及分析1,44binit.s中断模块设计及实现2,Interrupt.h

及Interrupt.c

关于中断设计3,服务函数设计代码实现voidMain(void){ //1)变量定义区

//2)系统CACHE及相关PLL处理区

rSYSCFG=SYSCFG_8KB;#if(PLLON==1)

ChangePllValue(PLL_M,PLL_P,PLL_S);#endif //3)平台端口处理区

Port_Init(); Uart_Init(0,115200);

//4)平台中断处理区

InitInterrupt(); InitEint0(Isr_Eint0);//初始化外部中断0; InitTimer5(Isr_Timer5);//初始化Timer5;

//5)用户代码处理区

Uart_SendString(0,"\n\t欢迎使用中断测试程序,编写:王剑平\n"); while(1) { //RunLed_Blind(1000); }}/*************************初始化设置外部中断0**************************///fSvr-中断服务函数voidInitEint0(void__irq(*fSvr)(void)){ U32uiTemp;

//1,设置外部中断0工作模式

uiTemp=0x02;//0x00-低电平,0x01-高电平,0x02-下降沿,0x04-上升沿,0x06-双边沿

rEXTINT&=0xfffffff8;//清楚低3位

rEXTINT|=uiTemp;//下降沿触发

//2,注册服务函数

RegisterIntSvrFun(NUM_EINT0,fSvr);

//3,使能外部中断0 EnInterruptByNum(NUM_EINT0);}/*************************初始化设置时钟5**************************///fSvr-中断服务函数#defineOS_TICKS_PER_SEC100#defineOS_CLOCK (MCLK/150/16/OS_TICKS_PER_SEC)voidInitTimer5(void__irq(*fSvr)(void)){ U32uiTemp;

//1)初始化Timer5相关寄存器

rTCFG0|=0x95<<16; //deadzone=0,Prescaler0=149 rTCFG1|=0x03<<20; //allinterrupt,MUX0=1/16 rTCNTB5=OS_CLOCK; //由MCK和OS_TICKS_PER_SEC决定

rTCON|=0x02<<24; //updateTimer0,butTimer0stopyet

//2,注册服务函数

RegisterIntSvrFun(NUM_TIMER5,fSvr);

//3,使能Timer5 EnInterruptByNum(NUM_TIMER5);

rINTMSK=~(BIT_GLOBAL|BIT_EINT0|BIT_TIMER5);//中断掩码

//4)启动Time5

rTCON&=0xf0ffffff; //清除24~27位

uiTemp=0x05<<24;

rTCON|=uiTemp; //StartTimer5}//全局变量声明U32bBlind=1; //表明是否允许闪烁//**********************外部中断0服务函数****************//void__irqIsr_Eint0(void){ staticinti=0;

rI_ISPC=BIT_EINT0;//清除中断标志

Uart_Printf(0,"收到外部中断0->%d\n",i++);

if(bBlind==0)

bBlind=1; else

bBlind=0;}//**********************时钟5中断服务函数*************************//void__irqIsr_Timer5(void){ staticint

iFlag=0;

rI_ISPC=BIT_TIMER5;//清除中断标志

if(bBlind==1)//闪烁

{

iFlag++;

if(iFlag<10) {

rPDATE=rPDATE&0xff7f; }

if(iFlag>10) {

rPDATE=rPDATE|0x80; }

if(iFlag>20) {

iFlag=0; } } else//停止闪烁

{

rPDATE=rPDATE|0x80; }}5.3数字音频系统开发实例学习要点1)IIS基本原理及使用方法2)DMA数据传输方法5.3.1IIS控制器原理IIS即音频数据接口,它是SONY、PHILIPS等电子巨头共同推出的接口标准。S3C44B0XIIS(Inter-ICSound)用来连接一个外部8/16bit立体声声音,IIS采用FIFO队列方式存取数据,可以采用DMA或中断模式,可以同时收发数据.支持IIS格式与MSB-justified格式,每个通道16、32、48fs的时钟频率(fs为取样频率)每个通道可为8bit或16bit数据格式可采用256、384fs主时钟频率对主时钟频率和外部CODEC时钟频率可编程的频率分频器

32B(=2X16B)的发送和接收FIFO(每个FIFO为8X半字)正常模式和DMA传输模式(1)IIS总线结构示意图(2)IIS传输方式1.正常模式:

IIS控制寄存器有一个FIFO准备标志。 当发送数据时,如果发送FIFO不空则标志为1,FIFO准备好发送数据;如果发送FIFO

空则该标志为0; 当接收数据时,如果接收FIFO不满该标志为1,指示可以接收数据,FIFO满则该标志为0,通过该标志可以确定CPU读写FIFO的时间,通过该方式实现发送和收收FIFO的存取来发送和接收数据。2.DMA传输方式:

发送和接收FIFO的存取由DMA控制器来实现,由FIFO准备好标志自动请求DMA的服务。3.发送和接收同時时模式:

因为只有一个DMA源,因此在该模式下只能有一个通道用正常传输模式,另一个则用DMA传输模式,以实现同时工作的目的。(3)IIS声音格式1.IIS格式

IIS有四条线分别为IISDI(serialdatainput),IISDO(serialdataoutput),IISLRCK(left/rightchannelselect)和IISCLK(serialbitclock);产生IISLRCK的设备和IISCLK为主要,传送时是以2的补数作传送,在IISLRCK改变之後,传送者则在一个时钟周期期后传送下一个MSB字节。2.MSBJUSTIFIED MSB/leftjustifiedbus和IIS使用一样的线,都是用IISbus传送只是差别在于当IISLRCK改变时则传送下一个MSB字节。(4)IIS-Bus和MSB-JUSTIFIED数据接口格式(5)采样频率和主频率音频系统主时钟CODECLK,一般为采样频率256倍或384倍,记为256fs或384fs,其中fs采样频率。CODECLK通过处理主时钟分频获得,可以通过在程序中设定定分频寄存器获取。数值可以设为1到16。CODECLK与采样的对应如下表5.3.1所示。应用中需要正确的选择IISLRCK和CODECLK。串行时钟

IISCLK可以为采样频率的16、32和48倍,如表5.3.2所示。表5.3.1系统主频和取样频率对应关系表5.3.2串行时钟频率(6)IIS控制寄存器(7)IIS模式寄存器(8)IISFIFO控制寄存器(9)IIS分频寄存器5.3.2DMA原理DMA来源于I/O模型。一般说来,I/O技术有三种:ProgrammedI/O,Interrupt-DrivenI/O和DirectMemoryAccess(DMA)下面简单列出这三种技术的流程图,通过比较他们的特点,我们可以发现DMA是如何成为一种关键的I/O技术的。ProgrammedI/O和Interrupt-DrivenI/O的不足I/O传送速度受处理器测试和给设备提供服务的速度的限制处理器负责管理I/O传送,对于每一次的I/O传送,处理器必须执行一些指令当传送大量数据时,需要有更有效的技术:DMADMA技术在实现上需要在系统总线上有一个附加模块——DMAController为了传送数据给存储器或从存储器读取数据,DMAController数据线需要掌管总线,一般需要将CPU暂时挂起(cycle-stealing)当CPU想要读写数据块时,它发送一个命令给DMAController,向DMAController发送信息如下:是请求读还是写所涉及的I/O设备地址读或写时存储器中的起始单元地址读或写的字数然后DMA开始工作,而CPU不参与,即数据不经过CPU.当传送结束时,DMAController发送一个中断信号给CPU,因此,CPU只是在数据传送的开始和结束时参与.CPU挂起不是中断,CPU不保存现场,也不做其他事情,而只是等待总线.S3C44B0XDMATheS3C44B0Xhas4channelDMAControllers.TwoZDMAs:GeneralDMATwoBDMAs:BridgeDMAZDMATheZDMAisinterfacedtoSSBandcantransferdatafromexternalmemorytoexternalmemory.UnlikelytheBDMA(BridgeDMA),thisDMAcanbeusedtotransferdatabetweenmemory-mappeddeviceormemories.Inotherwords,datatransferbetweenfixedsourceandexternalmemory,externalmemoryandexternalmemory,andexternalmemoryandfixeddestinationcanbedonebyusingthisDMA.TheDMAoperationcanbestartedbyS/WoranexternalDMArequestsignal,whichwillbeexplainedlater.ZDMA用来对寄存器到寄存器、寄存器到I/O存储器、I/O装置到存储器之间的传输数据。ZDMAControllerBlockDiagramBDMATheBDMAisintheBridge,whichistheinterfacelayerbetweenSSBandSPB.ThemainroleofBDMAistotransferthedatabetweenexternalmemoryandinternalperipheralslikeUART,IISandSIO,whichareattachedtoSPB.ThetimercanalsorequestaDMAoperationanytime;itisusefulforoperatingtheADCblockautomatically.Usually,theCPUorothermasterdevicesshouldaccesstheexternalmemorythroughmemorycontroller,whichisattachedtoSPB.PleaseberemindedthattheBDMAisalsoatypeofmasterdevice.Totransferthedatafrommemory(peripheraldevices)toperipheraldevices(memory)attachedtoSPB(SSB),thememorycontrollerattachedtoSSBshouldbeused.BecausetheBDMAisintheBridge,whichisaninterfacelayerbetweenSSBandSPB,itcantransferthedatabetweentwodevices,whichareattachedtoSSBaswellasSPB.BDMA用在连到SPB上的I/O设备(如UART、IIS和SIO)与存储器器之间的数据传输。BDMAControllerBlockDiagramExternalDMAREQ/ACKProtocolHandshakeModeSingleStepModeWholeServiceModeDemandModeHandshakeModeSingleStepModeWholeServiceModeDemandModeDMATransferModeUnittransfer:1unitread,then1unitwriteBlocktransfer:4unitburstread,then4unitburstwriteOn-the-flytransfer:1unitreador1unitwriteexclusivelyUnitaryTransferMode

withHandshakeBlockTransferMode

withSingleStepOn-the-flyTransferMode

withWholeserviceDMARequestSourceSelectionZDMAS/WorH/WproducesthenXDREQ(externalDMArequestsignal),whichistheDMArequestsourceBDMAInBDMA,therearesixhardwarerequestsources,UART0,UART1,SIO,TimerandIIS.TheBDMAcanbeinitiatedbysoftwareastheZDMARegistersConfiguration…AutoRe-loadModeThiskindofAuto-reloadingcanpre-scheduleDMAoperationautomaticallyButthiskindofparameterauto-reloadingcannotguaranteetheDMAre-runautomaticallyafterthecurrentDMAoperation5.3.3接口电路设计该系统把IIS接口与PHILIPS公司的UDAl341TS音频数字信号编译码器相连接,得到MICROPHONE音频输入通道和SPEAKER音频输出通道。UDAl341TS可把立体声模拟信号转化为数字信号,同样也能把数字信号转换成模拟信号,并可用PGA(可编程增益控制)、AGC(自动增益控制)对模拟信号进行处理。对于数字信号,该芯片提供了DSP数字音频处理功能。在实际中,UDAl341TS可广泛应用于MD、CD、Note—Book、PC和数码摄像机等。S3C44B0X的IIS接口可与UDAl341TS的BCK、WS、DATAI、DATAO和SYSCLK相连。对于UDAl341TS的L3总线,它是该芯片工作于微控制器输入模式时使用的,它包括L3DATA、L3MODE和L3CLOCK共3根接线,它们分别表示为微处理器接口数据线、微处理器接口模式线和微处理器接口时钟线。 通过这个接口,微处理器能够对UDAl341TS中的数字音频处理参数和系统控制参数进行配置。

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论