第 6 章 嵌入式系统总线接口
DESCRIPTION
第 6 章 嵌入式系统总线接口. 6.1 串行接口. 6.1.1 串行接口基本原理与结构 1 .串行通信概述 常用的数据通信方式有并行通信和串行通信两种。当两台数字设备之间传输距离较远时,数据往往以串行方式传输。串行通信的数据是一位一位地进行传输的,在传输中每一位数据都占据一个固定的时间长度。与并行通信相比,如果 n 位并行接口传送 n 位数据需时间 T ,则串行传送的时间最少为 nT 。串行通信具有传输线少、成本低等优点,特别适合远距离传送。 ① 串行数据通信模式 串行数据通信模式有单工通信、半双工通信和全双工通信 3 种基本的通信模式。 - PowerPoint PPT PresentationTRANSCRIPT
-
6
-
6.1 6.1.1 1nnTnT 3 AB ABBA ABBA
-
a. 01 11.52ASCII17ASCII10
-
bit/s1201010120=1200b/s=12001/1200=0.833ms15030060012002400480096001440028800 8byte1110001001111110
-
11.521811180%2
-
1299%
-
2RS-232CRS-232CEIA1RS-232CEIA6.1.1RS-232C12VTTLRS-232CMAX232
6.1.1 EIA
L H -25V-3V +3 V+25V 1 0 SPACE MARK
-
2RS-232CEIARS-232C25DB-259DB-9D259D6.1.1RS-232C DB-9 CDModemModem RXD TXD DTRModem SG DSRModem
-
RTSModemModem CTSModemMo-dem RIModem
-
a DB-25 b DB-96.1.1 259D
-
3RS-232CRS-232C6.1.2RS-232C6.1.39 600 bps156.1.2 6.1.3
-
3RS-422RS-422RS-232RS-42210Master10SalveRS-422RS-422XON/XOFFRS-42240001219m10Mb/s100Kb/s100m1 Mb/sRS-422300m
-
4RS-485RS-422EIARS-485RS-485RS-485TTLTTL200mVRS-485RS-422RS-48532
-
RS-485-7+12V12kRS-485RS-422RS-485RS-422RS-48510Mb/s100Kb/sRS-485300m
-
6.1.2 S3C2410AUART1UARTUARTUniversal Asynchronous Receiver and TransmitterRS-232C 9DB-9UART6.1.45811.52UART58 11.52
-
6.1.4 UART 2S3C2410AUARTS3C2410AUART3I/OSIODMAUARTDMACPUUARTUART230.4KbpsUEXTCLKUARTUARTUART16FIFO
-
6.1.5S3C2410AUARTPCLKUEXTCLK16FIFOFIFOTxDnRxDnFIFO
-
6.1.5 S3C2410AUARTFIFO
-
3S3C2410A UARTS3C2410AUART1Data Transmission158112ULCONn0Tx FIFOFIFO2Data Reception158112ULCONn3FIFORxFIFO
-
3Auro Flow ControlAFC6.1.6S3C2410AUART0UART1nRTSnCTSUARTUARTModem,UMCONnnRTS6.1.6 UART AFC
-
AFCnRTSnCTSnCTSAFCnCTSUARTFIFOUARTFIFOUARTFIFO2nRTSFIFO1nRTSAFCnRTSFIFO4RS-232RS-232C interfaceUARTModemnRTSnCTSnDSRnDTRDCDnRII/OAFCRS-232C5DMAInterrupt/DMA Request GenerationS3C2410AUART5Tx/Rx/ErrorUTRSTATn/UERSTATn
-
UCONn1UERSTSTnUCONn1FIFOFIFORxFIFORxFIFORxUCONn1FIFOFIFOFIFOTxFIFOTxFIFOTx
-
DMAnDMAnRxTx6Baud-Rate GenerationUARTS3C2410AUEXTCLKUCONnPCLKUEXTCLK16UARTUBRDIVn167Loopback ModeS3C2410A DARTUARTRXDTXDRXDSIOUARTUCONn
-
8Infra-Red IR ModeS3C2410AUARTUARTULCONn4S3C2410A UARTS3C2410AUARTUART1UARTULCONn UARTUART0UART2ULCON0ULCON1ULCON20x5000 00000x5000 40000x5000 80006.1.20x000x3
-
6.1.2 UART
-
2UARTUCONnUARTUCONnUART0UART2UCON0 UCON1UCON20x5000 00040x5000 40040x5000 80046.1.30x000x245
-
6.1.3 UARTUCONn
UCONn[10]0PCLK UBRDIVn = intPCLK / bps x 16 -11UEXTCLK@GPH8UBRDIVn=intUEXTCLK/bps16-1[9]01[8]01Rx[7]01[6]01[5]01[4]
-
3UART FIFOUFCONnUART FIFOUFCONnUART0UART2FIFOUFCON0 UFCON1UFCON20x5000 00080x5000 40080x5000 80086.1.40x00x0
-
6.1.4 UART FIFOUFCONn
-
4UART ModemUMCONnUART ModemUMCONnUART0 UART1 UMCON0 UMCON10x5000 000C0x5000 400C0x5000 800C0x5000 800C6.1.50x00x0
-
6.1.5 UART ModemUMCONn
-
5UARTUARTUART TX/RXUTRSTATnUARTUERSTATnUART FIFOUFSTATnUART UMSTATnUARTS3C2410A200MHz&266MHz32-Bit RISC Microprocessor USERS MANUAL Revision 1.0www.samsung.com6UARTUARTUARTUTXHnUARTURXHn
-
7UARTUARTUBRDIVnUBRDIV0UBRDIV1UBRDIV2UARTUBRDIVnUBRDIVn = intPCLK/bps16 11216 1UARTS3C2410AUEXTCLKS3C2410ADARTUEXTCLKUARTUEXTCLKUARTUBRDIVnUBRDIVn = intUEXTCLK / bps 16 112161UEXTCLKPCLK115 200 bpsPCLKUEXTCLK40MHzUBRDIVnUBRDIVn = int40000000/115200 161= int21.71= 211 = 20
-
6.1.3 S3C2410A UART1S3C2410A UARTRS-232CRXDTXDGNDRS-232CS3C2410ALVTTLRS-232C1-5V-15V0+5V+15VLVTTL123.3V000.4VMAX232S3C2410AMAX2324.21MAX232MAX232www.maxim-ic.com6.1.7UART0UART1RS-232C9DLEDLED
-
6.1.7 S3C2410ARS-232C
-
2S3C2410A UARTRS422RS485MAX487S3C2410AUART1RS422RS4856.1.8RS422RS422MAX487ERS422RS485RS485MAX487ERS485MAX487EROA > B 200mVROA < B 200mVRORORO
-
DEDEDIABVCC4.75V 5.25VGNDMAX487EMAX487Ewww.maxim-ic.com
-
6.1.8 S3C2410ARS422RS485
-
6.1.4 S3C2410A UART[]UART0UART0UART1PCARMUART0ARMUART0UART0UART1PC1UARTUART0
-
#define rULCON0*volatile unsigned*0x50000000 //UART0#define rUCON0*volatile unsigned*0x50000004 //UART0#define rUFCON0*volatile unsigned*0x50000008 //UART0 FIFO#define rUMCON0*volatile unsigned*0x5000000c //UART0 Modem#define rUTRSTAT0*volatile unsigned*0x50000010 //UART0 Tx/Rx#define rUERSTAT0*volatile unsigned*0x50000014 //UART0 Rx#define rUFSTAT0*volatile unsigned*0x50000018 //UART0 FIFO
-
#define rUMSTAT0*volatile unsigned*0x5000001c //UART0 Modem#define rUBRDIV0*volatile unsigned*0x50000028 //UART0#ifdef__BIG_ENDIAN //#define rURXH0*volatile unsigned char*0x50000023 //UART0#define rURXH0*volatile unsigned char*0x50000027 //UART0#define WrUTXH0ch*volatile unsigned char*0x50000023unsigned charch#define RdURXH0*volatile unsigned char*0x50000027
-
#define UTXH00x50000020+3 //DMA#define URXH00x50000024+3#else //#define rUTXH0*volatile unsigned char*0x50000020 //UART0 Transmission Hold#define rURXH0*volatile unsigned char0x50000024 //UART0 Receive buffer#define WrUTXH0ch*volatile unsigned char*0x50000020unsigned charch#define RdURXH0*volatile unsigned char*0x50000024#define UTXH00x50000020 //DMA#define URXH00x50000024#endif
-
2pclkbandUart_Init void Uart_Initint pclkint baud int I; if pclk= =0 pclkPCLK; rUFCON0=0x0; //UARTO FIFOFIFO rUFCON1=0x0; //UART1 FIFOFIFO rUFCON2=0x0; //UART2 FIFOFIFO rUMCON0=0x0; //UARTO MODEMAFC rUMCONI=0x0; //UART1 MODEMAFC //UART0
-
rULCON00x3; //18 rUCON00x245; // rUBRDIV0 =intpclk/16/baud+0.5-1; // //UART1 rULCON1=0x3; rUCON1=0x245; rUBRDIV1=intpclk/16/baud-1; //UART2 rULCON2=0x3; rUCON20x245; rUBRDIV2=intpclk/16/baud-1; fori0; i< 100; i++;
-
3whichUartUARTvoid Uart_SendByteint data ifwhichUart= =0 ifdata= =n whilerUTRSTAT00x2 Delay10 //WrUTXHr
-
whilerUTRSTAT00x2 // Delay10 WrUTXH0data else ifwhichUart= =1 ifdata=n whilerUTRSTAT10x2 Delay10 // rUTXH1=r whilerUTRSTAT10x2 // Delay10 rUTXH1data
-
else ifwhichUart= =2 if data= =\n whilerUTRSTAT20x2 Delay10 // rUTXH2r whilerUTRSTAT20x2 // Delay10 rUTXH2data
-
40 char Uart_GetKeyvoid ifwhichUart0 ifrUTRSTAT00x1 //UARTO return RdURXH0 else return 0 else ifwhichUart= =1 ifrUTRSTAT10x1 //UART1 return RdURXH1 else return 0
-
else ifwhichUart= =2 ifrUTRSTAT20x1 //UART2 return RdURXH2 else return 0 else return 0 5UART0UART0UART1Uart_SelectnUARTn
-
includestringh>include\INC\confighvoid Mainvoidchar dataTarget_Initwhile1data=Uart GetKey //ifdata0x0Uart_Select0 //UART0Uart_Printfkeyc\ndataUart_elect 1 /UART1Uart_Printfkeyc \ndataUart_Select0
-
6.2 I2C 6.2.1 I2CI2C BUSInter Integrated Circuit BUSPhilipsI2C6.2.1I2CSDASCLSDASCLI2C
-
1I2CI2CSDA6.2.2SCLSDAI2C6.2.2SCLSDAI2C
-
6.2.1 I2C6.2.2 I2C
-
1717012SDA8ACKMSB311ACKACKSCL981SCLACKSDASDA8SDASDA8
-
4I2CI2CSDASDAI2C5I2C 71 81ACK
-
6.2.2 S3C2410AI2CS3C2410AI2C6.2.34S3C2410AI2CIICCONI2CIICSTATI2C/IICDSI2CTx/RxIICADDI2C
-
6.2.3 S3C2410AI2C
-
1IICCONIICCONI2C0x540000000000xxxx6.2.16.2.1 IICCONI2C
-
2IICSTATI2C/IICSTATI2C/0x54000004000000006.2.26.2.2 IICSTATI2C/
-
3IICADDI2CIICADDI2C0x54000008xxxxxxxx6.2.3 6.2.3 IICADDI2C
-
5-38 IICDS 4IICDSIICDS0x5400000Cxxxxxxxx5-38
-
6.2.3 S3C2410AI2CS3C2410A I2CI2CEEPROMKS24C080CJXARM9-24106.2.46.2.4 S3C2410A I2CKS24C080C
-
KS24C080CI2C0xA0S3C2410AI2C1I2CI2CI2CI2Cvoid iic_init
-
2I2CI2Cvoid iic_write_24C08LJ32 slvAddrU32 addrU8 dataslvAddr0xA0addrdataI2CI2CI2C
-
I2CI2Ciicdata tx size 1
-
3I2CI2Cvoid iic_read_24C08U32.s1vAddrU32 addrU8dataslvAddr0xA0addrdataI2C
-
I2C
-
I2CI2Ciic_buffer
-
4I2CI2CPOLLACKRDDATAWRDATAI2C
-
6.3 USB 6.3.1 USBUSBUniversal Serial BusCompaqHPIntelLucentMicrosoftNECPhilips1USB1USBUSBUSB2USBUSBUSBUSBUSBUSBUSBUSBHubUSB127
-
3USBMb/s4USBUSB5USB45m6USB5V/100mA500mAUSB
-
2USBUSBUSBUSBUSB31USBUSBHubFunctionHubUSBFunctionFunctionUSBUSBUSBUSB2USBUSBUSBHubPCI
-
3USBUSBUSBUSBUSBUSBUSBUSBHubPoint-to-PointHubHubHubUSB75HubCompound Device77Function
-
3USB4USB480Mb/s12Mb/s1.5Mb/s3USB2.0HubHub4USB
-
1USBUSBUSBHubUSBUSBUSBBus-Powered DeviceUSBAlternateSelf-Powered Device2USBUSBUSB
-
5USBPollingUSBHost-ScheduledToken-BasedUSB3USBUSBToken PacketUSBData Packet Handshake Packet
-
USBUSBUSBTransaction ScheduleNAK
-
6RobustnessUSB CRC Timeouts
-
6.3.2 S3C2410AUSBS3C2410AUSBUSBS3C2410AUSB6.3.1S3C2410AUSBUSBOHCI 1.0USB1.1USBUSBOHCI6.3.1S3C2410AUSB6.3.2S3C2410AUSBUSB12MbpsDMA5FIFOEP016EP1EP464IN/OUT FIFO RAMDMADMAEP1EP2EP3EP4
-
S3C2410AUSB6.3.2USERS MANUAL S3C2410A-200MHz & 266MHz 32-Bit RISC Microprocessor Revision 1.0www.samsung.com
-
6.3.1 S3C2410AUSB
-
6.3.2 S3C2410AUSB
-
6.3.1 USBOHCI
-
6.3.2 S3C2410AUSB
-
6.3.3 S3C2410AUSB1S3C2410A USBS3C2410AUSBUSBS3C2410A1DEVICE USB2HOST USBUSB6.3.3
-
6.3.3 S3C2410A USB
-
2S3C2410A 1USBUSBUSBUSB48 MHzS3C2410AUPLLUSBPLLUSBUPLL
-
USB1.x5USBdevice descriptorconfiguration descriptorinterface descriptorendpoint descriptorstring descriptorUSBUSBUSBEmbest EDUKIT - II/IIIUSB
-
ConfigUsbdUSB1324013USB 2USBS3C2414A56USBSRCPNDINT_USBDIRQ
-
3USBUSBUSB4USBUSBUSBUSBLTSBUSB
-
0USB0USB13USB3DMA
-
6.4 SPI 6.4.1 SPISPISerial Peripheral InterfaceMotorolaSPIA/DD/ALCDSPI44MOSIMISOSCLKSCKSPI
-
MOSIMOSISISDIMISOMISOSOSDOI/OSPISPISPI6.4.1SPISPISPIMOSIMISO
-
aSPI b SPI 6.4.1 SPI
-
SPISPI4A/D6.4.26.4.2 3SPI
-
6.4.2SPI31A2A1ABA3ABCBCSPI50SPI4SCK
-
010MOSIMISOSCK0SCKMISOXSPISPI6.4.2 S3C2410A SPI1SPIS3C2410ASPI6.4.3S3C2410ASPISPIv2.118DMASPI8SPI81
-
6.4.3 S3C2410ASPI
-
2SPISPIS3C2410A8SPISPPREnSPISPDATnSPInSSSPDATn3SPIENSCKSPCONnMSTRSPDATnSPI
-
SPPREn SPCONnSPI SPDATn100 xFFMMCSD GPIOnSSMMCSD REDY =1SPDATn 1SPCONnTAGDSPDATOxFFREDY 2SPCONnTAGDREDY GPIOnSSMMCSD
-
4SPIS3C2410A46.4.4SPIFormat BSPISPIBSPIDMAFormat BFormat BDATA_READSPICLKFormat BDATA_READSPICLK5SPI1SPICONnSPICONnSPIn=010x59000000/0x590000200x00SPISPICONn6.4.1
-
6.4.1 SPICONn
-
MSBLSB;MSBLSB6.4.4 SPI
-
6.4.2 SPSTAn 2SPSTAnSPSTAnSPI0x59000004/0x590000240x01SPSTAn6.4.2
-
6.4.3 SPPINn 3SPPINnSPPINnSPI0x59000008/0x590000280x02SPPINn6.4.3
-
SPInSSSPCONnMSTRnSSSPInSSSPPINENMULGPIOSPInSSSPIMIS0SPIMOS1SPISPIMIS0SPIMOS1SPICLKSPISPICLKSPIMOS1SPIMIS0
-
4SPIPREnSPISPIPREnSPI0x5900000C /0x5900002C0x00SPPREn[7:0]fPCLK/215SPTDATnSPTDATnSPI0x59000010/0x590000300x00SPI6SPRDATnSPRDATnSPI0x59000014/0x590000340x00SPI
-
6SPIARMSPIJ6026.4.5PCIPCI6.5PCI6.4.5 SPI
-
6.4.3 S3C2410ASPIS3C2410ASPI0SPI1
-
6.5 PCI 6.5.1 PCIPCIPeripheral Component InterconnectIntelIntelPCISIGPeripheral Component Interconnect Special Interest GroupPCIPCI1.02.02.1PCI32645V3.3V2.16466MHz
-
PCI326433MHz66MHzPCIPCI-X64133 MHzPCIISAISAPCIplug and plugPCIPCIMasterInitiatorMasterPCISlaveTargetSlave MasterPCI
-
32PCI1CLKPCIRSTReset2 FRAME IRDY# Master DEVSEL#Slave TRDY# Slave STOP# Slave IDSEL#
-
3 AD[31:0] C/BE[3:0] PAR4 REQMaster GNTMaster5 PERK SERR
-
PCI6.5.1REQ#GNT#FRAME#ADSlaveC/BEPCIDEVSEL# IRDY# TRDY# MasterFRAMEIRDYPCI132MB/s
-
6.5.1 PCI
-
6.5.2 PCIS3C2410APCI6.5.26.5.2bPCI6.5.2aPCINET_RXD0NET_RXDVEX_CS2NET_TXD0NET_RXD1NET_RXD2NET_RXCLKNET_TXCLKNET_COLNET_MDCNET_TXD2NET_TXD3SPICLK1SPIMOSI1BUT_INT1NET_CRSEX_CS1NET_RXD3NET_RXERNET_MDI0SPIMOSI0NET_TXENSPIMISO0NET_TXD1SPICLK0SPIMISO1BUT_INT2NSS0IICSCLIICSDA
-
aPCI bPCI6.5.2 PCI
-
6.6 I2S6.6.1 CDMP3MDVCDDVDA/DD/ADSPA/DDSPD/A
-
Nyquist40kHz8kHz11.025kHz22.05kHz16kHz37.8kHz44.1kHz48kHzDVD81216
-
PCMMP3WMAWAVOgg VorbisRAAACATRAC 3 1PCMPCMCD-ROMDVDPCM44.1kHz163216PCM1.41Mb/s32PCM2.42Mb/s700MBCD6016PCM
-
2MP3MP3MPEG1 Layer-3MP3PCMCD10MBMP31MBMP3112kb/s128kb/sMP3CDMP323WMAWMAWindows Media AudioWMA64kbpsWMACDWMAWindows Media Rights ManagerWMA
-
4WAVWAVWAVRIFFResource Interchange File FormatWAVPCMACMWAVWindowsPCMWAVWAVWAVPCMWAVMP3WMA5Ogg VorbisOgg VorbisVorbisOGGOgg VorbisMP3Ogg VorbisOgg Vorbis
-
6RARARealAudioRARAATRAC3WMARA7APEAPEMonkeys AudioMP3APEAPE
-
8AACAACAdvanced Audio Coding4896kHzAAC320kbps5.1ITU-RAACMPEG-2MP330%9ATRAC 3ATRAC3Adaptive Transform Acoustic Coding3MDATRACATRAC2MP3ATRAC3OpenMG
-
6.6.2 I2S1I2SI2SI2SInter-IC Sound BusPhilipI2SI2S3SDSerial dataWSWord selectSCK Continuous Serial clockI2S6.6.1
-
ab
-
c6.6.1 I2S
-
2I2SI2S6.6.26.6.2 I2S
-
1SD816MSBMost Significant Bit0LSBLeast Significant Bit 2WSWS=0WS=1WSMSBWS
-
3SCKI2SI2S6.6.3 S3C2410AI2S1S3C2410A I2SI2SCODECS3C2410AI2SInter-IC Sound8/16CODECI2SMSB-justifiedFIFODMA
-
S3C2410A I2S31FIFOI2SFIFOFIFOFIFOFIFO1FIFO0FIFOFIFO1FIFO0FIFOCPUFIFO2DMADMADMAFIFOFIFODMA3I2S
-
2S3C2410A I2SS3C2410A I2S6.6.3 6.6.3 S3C2410A I2S
-
S3C2410A I2S BRFCFIFO IPSR5bitIPSR_AIPSR_BI2SCODEC TxFIFORxFIFO64byteFIFOTxFIFORxFIFO SCLKGIISCLK CHNCIISCLKIISLRCK SFTR16SFTRSFTR
-
3S3C2410A I2SS3C2410AI2SI2SMSB-justified1I2SI2SIISDIIISDOIIS-LRCKIISCLK4IISLRCKIISCLK2MSBMSB00MSBLSBIISLRCKMSB
-
LRIISLRCKIISLRCKMSB2MSB-justifiedMSB-justifiedI2SI2SIISLRCKMSB-justifiedIISLRCKCODECLK6.6.1fs
-
6.6.1 IISLRCKCODECLK
IISLRCKfs/kHz8.00011.02516.00022.05032.00044.10048.00064.00088.20096.000CODECLK/MHz256 fs2.04802.82244.09605.64488.192011.289612.288016.384022.579224.5760384 fs3.07204.23366.14408.467212.288016.934418.432024.576033.868836.8640
-
4S3C2410A I2SS3C2410A I2SS3C2410A I2SIISCONI2S20x5500 00000x5500 00020x100IISCON6.6.2
-
6.6.2 IISCON
-
IISMODI2S20x5500 00040x5500 00060x0IISMOD6.6.3
-
6.6.3 IISMOD
-
6.6.4 IISPSR IISPSRI2S2 0x5500 00080x5500 000A0x0IISPSR6.6.4
-
6.6.5 IISFCONIISFCONIIS FIFO2 0x5500 000C0x5500 000E0x0IISFCON6.6.5
-
IISFIFOIIS FIFO20x5500 00100x5500 00120x0I2S 5I2S1I2SI2S IISFCONFIFO IISFCONDMA IISFCON2I2SI2S IISFCONFIFOFIFO IISFCONDMA IISFCON
-
6.6.4 I2SS3C2410AI2SPhilipsUDA1341TS CODEC6.6.4UDA1341TSMICROPHONESPEADERUDA1341TSPGAAGCUDA1341TSDSPS3C2410AI2SUDA1341TSBCKWSDATAISYSCLKUDA1341TSUDA1341TSL3L3DATAL3MODEL3CLOCKL3DATAL3MODEL3CLOCKL3DATAL3MODEL3CLOCKUDA1341TSS3C2410AL3I/O
-
J611PHONESPEADER6.6.4 I2SUDA1341TS
- 6.6.5 I2S[]11#include "2410addr.h"#include "2410lib.h"#include "def.h#include "2410iis.h"void ChangeDMA2void;void IIS_PortSettingvoid;void_WrL3AddrU8 data;void_WrL3DataU8 data,int halt;void_irq DMA2_Donevoid;void_irq DMA2_Rec_Donevoid;void_irq RxIntvoid;void_irq Mutingvoid;#define L3C 1
-
#define PLAY 0#define RECORD 1//#define REC_LEN 0x50000 //327,680 Bytes#define REC_LEN 0x100000 //1,048,576 Bytes#define DataCount 0x10000 //IIS Master/Slave Data Rx/Tx Count#define DataDisplay 0x100 //IIS Master Data Display Count#define PollMode 0 //1: Polling Mode#define DMA2Mode 1 //1: DMA2 Mode#define MICGain_Amp_Sel 0 //0: Input channel 2 Amp. 1: MIC Amp.unsigned char *Buf, *_temp;unsigned short *rec_buf;volatile unsigned int size = 0;volatile unsigned int fs = 0;volatile char which_Buf = 1;volatile char Rec_Done = 0;volatile char mute = 1;void PlayTest_Iisvoid{unsigned int save_B, save_E, save_PB, save_PE;Uart_TxEmpty0;
-
2PCLKIISPCLK33MHzChangeClockDivider1,1; //1:2:4ChangeMPllValue0x96,0x5,0x1; //FCLK=135.428571MHz PCLK=33.857142MHzUart_Init33857142,115200;Uart_Printf"[ IIS test Play using UDA1341 CODEC ]\n";3save_B = rGPBCON;save_E = rGPECON;save_PB = rGPBUP;save_PE = rGPEUP;IIS_PortSetting;
- 4DMAIISDMADMApISR_DMA2 = unsignedDMA2_Done;5rINTSUBMSK = ~BIT_SUB_RXD0;rINTMSK = ~BIT_EINT0 | BIT_UART0 | BIT_DMA2; //Non-cacheable area = 0x31000000 ~ 0x33feffffBuf = unsigned char *0x31000000;_temp = Buf;Uart_Printf"Download the PCMno ADPCM file by DNWWith header!!\n";size = *Buf | *Buf + 1
- 6UDA1341UDA1341Init1341PLAY;7DMADMArDISRC2 = intBuf + 0x30; //0x31000030~Remove headerrDISRCC2 = 0
- rDMASKTRIG2 = 0
-
8IISIIS IISDMA//IIS Tx StartUart_Printf"\nPress any key to exit!!!\n";rIISCON |= 0x1; //IIS Interface startwhile!Uart_GetKey{ifrDSTAT2 & 0xfffff < size/6ChangeDMA2;}ChangeDMA2which_Bufwhich_BufDMA2_Done
- 9IISDelay10; //For end of H/W TxrIISCON = 0x0; //IIS Interface stoprDMASKTRIG2 = 1
-
21void Record_Iisvoid{unsigned int save_B, save_E, save_PB, save_PE;Uart_TxEmpty0;ChangeClockDivider1,1; //1:2:4ChangeMPllValue0x96,0x5,0x1; //FCLK=135428571Hz, PCLK=3.385714MHzUart_Init33857142,115200;Uart_Printf"[ Record test using UDA1341 ]\n";save_B = rGPBCON;save_E = rGPECON;save_PB = rGPBUP;save_PE = rGPEUP;IIS_PortSetting;
- rec_bufrec_buf = unsigned short *0x31000000;pISR_DMA2 = unsignedDMA2_Rec_Done;pISR_EINT0 = unsignedMuting;rINTMSK = ~BIT_DMA2;Init1341RECORD;rDISRCC2 = 1
- rDMASKTRIG2 = 0
- 2 //Rx startrIISCON |= 0x1; DMA2while!Rec_Done;rINTMSK = BIT_DMA2;Rec_Done = 0; //IIS StopDelay10; //For end of H/W RxrIISCON = 0x0; //IIS stoprDMASKTRIG2 = 1
-
3Uart_Printf"End of Record!!!\n";Uart_Printf"Press any key to play recorded data\n";Uart_Printf"If you want to mute or no mute push the 'EIN0' key repeatedly\n";Uart_Getch;size = REC_LEN * 2;Uart_Printf"Size = %d\n",size;Init1341PLAY;pISR_DMA2 = unsignedDMA2_Done;rINTMSK = ~BIT_DMA2 | BIT_EINT0;
- //DMA2 InitializerDISRCC2 = 0
- //Tx DMA enable,Tx DMA disable,Tx not idle,Rx idle,prescaler enable,stoprIISFCON = 1
-
6 1.2.3.RS-232C4.RS-232 RS-422RS-4855.UART6.6.1.5S3C2410AUART7.S3C2410AUART8.S3C2410A UART9.UART10.UARTUCONn11.UART FIFOUFCONn12.UART ModemUMCONn13.www.maxim-ic.comMAX232
-
14.www.maxim-ic.comMAX48715.I2C16.6.2.3S3C2410AI2C17S3C2410A I2C 18.IICCONI2C19.IICSTATI2C/20.IICADDI2C21.IICDS22.www.samsung.comKS24C080C23.USB24.USB
-
25.USB26.USB27.6.3.1S3C2410AUSB28.6.3.2S3C2410AUSB29.www.samsung.comS3C2410AUSBOHCI30.www.samsung.comKS24C080Cwww.samsung.com S3C2410AUSB 31.SPI32.6.4.3S3C2410A 33.SPI34.S3C2410A SPI
-
35.32PCI36.6.5.1 PCI37.38.I2S39.6.6.2I2S40.S3C2410A I2S41.6.6.3S3C2410A I2S42.I2SMSB-justified43.S3C2410A I2S44.I2S45.www.semiconductors.philips.comUDA1341TS