4 锁定时间计数值寄存器
LOCKTIME 0x01D8000C R/W 锁定时间计数值寄存器初始值0xfff
6 CPU WRAPPER & BUS PRIORITIES
CPU WRAPPER 包括一个8KBYTEcache, write buffer,和CPU 核.
8KBYTEcache可以以三种方式使用:
1. 全部8K作为指令/数据cache,
2. 4K做为内部SRAM,另外4K做为cache
3 全部8K作为内部存储器使用.
Cache使用最近最少使用算法来提高命中率,使用write-through策落保持数据一直性.
内部SRAM主要用来减少中断线程执行时间.
cache set 和LRU的存储映射地址
cache 和LRU 存储映射地址尺寸
cache set 0 0x10000000 - 0x100007ff 2KB
cache set 1 0x10000800 - 0x10000fff 2KB
cache set 2 0x10001000 - 0x100017ff 2KB
cache set 3 0x10001800 - 0x10001fff 2KB
cache tag 0 0x10002000 - 0x100027f0 512bytes
cache tag 1 0x10002800 - 0x10002ff0 512bytes
cache tag 2 0x10003000 - 0x100037f0 512bytes
cache tag 3 0x10003800 - 0x10003ff0 512bytes
LRU 0x10004000 - 0x100047f0 512bytes
在cache set的地址连续增加,在cache tag和LRU中的地址以16BYTE来增加,每次读写一个字, 地址的bit[3:0]必须是0.
S3C44B0X有四个写缓冲区寄存器,每个写缓冲区寄存器包括一个32BIT数据域,一个28BIT的地址域,指示写数据的地址,2BIT 的状态域MAS.
状态域MAS确定数据模式
00 = 8-bit data mode
01 = 16-bit data mode
10 = 32-bit data mode
11 = Not used
在S3C44B0X,有七个总线控制块: LCD_DMA, BDMA0, BDMA1, ZDMA0, ZDMA1,
nBREQ (外部总线控制块),和CPU wrapper.
在复位后优先级从高到低如下:
1. DRAM refresh controller
2. LCD_DMA
3. ZDMA0,1
4. BDMA0,1
5. External bus master
6. Write buffer
7. Cache & CPU
LCD_DMA, ZDMA, BDMA, and an external bus master的优先级可以通过SBUSCON寄存器编程改变,但CPU wrapper总是最低的优先级,不能改变
可以选择循环队列优先级模式和固定优先级模式,在循环队列优先级模式,所有的总线控制块都有相同的优先级,
寄存器定义.
1 系统配置寄存器
SYSCFG 0x01C00000 R/W 系统配置寄存器默认值0x01
位名称位描述
Reserved [7] 保留
Reserved [6] 保留
DA(reserved) [5] 数据异常控制,推荐值为0.
0: 允许数据异常1: 不允许数据异常
RSE(reserved) [4] 允许读停止选项. 推荐值为0.
读停止选项在cache & CPU core读数据时插入一个间歇等待周期
0: 不允许读停止1: 允许读停止
WE [3] 该位确定写缓冲的允许/不允许. 一些外部装置需要最小的写周期时间,如果允许写缓冲,在由于连续的写之间的周期将使之工作不正常.
0 =不允许写缓冲操作1 = 允许写缓冲操作
CM [2:1] 这两位确定cache 模式
00 = Disable cache (8KB internal SRAM)
01 = Half cache enable (4KB cache, 4KB internal SRAM)
10 = Reserved
11 = Full Cache enable (8KB cache)
SE [0] 允许停止选项. 推荐值为0.
停止选项在使用Cache,产生非连续地址时,插入一个间歇等待周期
0: 不允许停止选项1: 允许停止选项
2 NON-CACHEABLE区域控制寄存器
NCACHBE0 0x01C00004 R/W non-cacheable0区域的开始结束地址0x00000000
NCACHBE1 0x01C00008 R/W non-cacheable1区域的开始结束地址1 0x00000000
位名称位描述
SE0 [31:16] non-cacheable0的结束地址,因为on-cacheable的最小尺寸为4Kbyte。因此SE0计算如下.
SE0 = (End address + 1)/4K
SA0 [15:0] non-cacheable0的开始地址,因为on-cacheable的最小尺寸为4Kbyte。因此SA0计算如下.
SA0 = Start address/4K
SE1 [31:16] non-cacheable1的结束地址,因为on-cacheable的最小尺寸为4Kbyte。因此SE1计算如下.
SE1 = (End address + 1)/4K
SA1 [15:0] non-cacheable1的开始地址,因为on-cacheable的最小尺寸为
4Kbyte。因此SA0计算如下.
SA1 = Start address/4K
3 系统总线优先级控制寄存器
SBUSCON 0x01C40000 R/W 总线优先级控制寄存器初始值0x80001B1B
位名称位描述
FIX [31] 优先级模式
0: round-robin priorities
1: fixed priorities
S_LCD_DMA [15:14] 指示LCD_DMA 的总线优先级(只读)
00: 1st 01: 2nd 10: 3rd 11: 4th
S_ZDMA [13:12] 指示ZDMA的总线优先级(只读)
00: 1st 01: 2nd 10: 3rd 11: 4th
S_BDMA [11:10] 指示BDMA的优先级(只读)
00: 1st 01: 2nd 10: 3rd 11: 4th
S_nBREQ [9:8] 指示nBREQ的优先级(只读)
00: 1st 01: 2nd 10: 3rd 11: 4th
LCD_DMA [7:6] 确定LCD_DMA总线优先级
00: 1st 01: 2nd 10: 3rd 11: 4th
ZDMA [5:4] 确定ZDMA 总线优先级
00: 1st 01: 2nd 10: 3rd 11: 4th
BDMA [3:2] 确定BDMA 总线优先级
00: 1st 01: 2nd 10: 3rd 11: 4th
nBREQ [1:0] 确定nBREQ总线优先级
00: 1st 01: 2nd 10: 3rd 11: 4th
7 DMA
S3C44B0X 有4路DMA控制器,其中两路称为ZDMA(General DMA)被连到SSB(Samsung System Bus)总线上,另外两路称为BDMA (Bridge DMA)是SSB和SPB(Samsung Peripheral Bus)之间的接口层,相当于一个桥,因此称为桥DMA。ZDMA和BDMA都可以由指令启动,也可以有内部外设和外部请求引脚来请求启动。
ZDMA用来在存储器到存储器、存储器到IO存储器、IO装置到存储器之间传输数据。BDMA控制器只能在连到SPB上的IO装置(外设)与存储器之间传输数据
ZDMA最大的特性是on-the-fly模式,on-the-fly模式有不可分割的读写周期,在这点上ZDMA与普通的DMA不同,从而可以减少在外部存储器和外部可寻址的外设之间DMA操作的周期数。
对于ZDMA,S3C44B0X有一个4字的FIFO缓冲来支持4字突发DMA传输,而BDMA不支持突发DMA传输,因此存储器之间的传输数据最好用ZDMA传输,来提供高的传输速度。
2 外部DMA REQ/ACK 协议
对于ZDMA ,有四种类型的外部DMA请求/应答协议。
握手模式
一个单独的应答对应一个单独的DMA请求,在该模式,DMA操作期间的读写周期不可分割,因此在一个DMA操作完成前,不能把总线让给其它总线控制器使用。一次nXDREQ请求引起一次DMA传输(可以是一个字节,一个半字或一个字)。
单步模式
单步模式意味着一次DMA传输有两个DMA应答周期(产生两个应答信号nXDACK)指示DMA读和写周期,主要用与测试和调试模式,在读写周期之间,总线控制权可以让给其它总线控制器。
Whole Service Mode
在该模式,一次DMA请求将产生连续的DMA传输,直到规定的DMA传输数传输完,在DMA传输期间,nXDACK一直有效,DMA请求信号被释放。并且在每次传输一个数据单元后,释放一次总线控制权,以便其它总线控制器有机会可以占用总线。
Demand Mode
在该模式,只要DMA请求信号一直有效,DMA传输就持续进行,并且一直占用总线控制权,因此应该预防传输周期超过规定的最大时间。
有三种DMA传输模式(单位传输模式,块传输模式,On the fly块传输模式)。
Unit 传输模式1 个单位读, 然后1个单位写
Block传输模式4 个字突发读, 然后4 个字突发写,因此传输的数据个数应当是16字节的倍数。
On-the-fly 传输模式1个单位读或1个单位写,读写同时进行。
DMA寄存器
1 ZDMA控制寄存器
ZDCON0 0x01E80000 R/W ZDMA 0 控制寄存器初始值0x00
ZDCON1 0x01E80020 R/W ZDMA 1 控制寄存器初始值0x00
位名称BIT 描述
INT [7:6] 保留00
STE [5:4] DMA通道的状态(只读)
在DMA的传输计数开始之前,STE呆在准备好状态
00 = Ready 01 = Not TC yet
10 = Terminal Count 11 = N/A
QDS [3:2] 忽落/允许外部DMA 请求(nXDREQ)
00 = Enable other = Disable
CMD [1:0] 软件命令
00: 没有命令.在写01,10,11后, CMD 位被自动清除, nXDREQ允许
01: 由S/W启动DMA操作S/W启动功能能用在whole mode.
10: 停止DMA操作. 但nXDREQ仍允许
11: 取消DMA 操作
2 ZDMA0 初始源/目标地址和计数寄存器
ZDISRC0 0x01E80004 R/W ZDMA 0初始源地址寄存器初始值0x00000000
ZDIDES0 0x01E80008 R/W ZDMA 0初始目标地址寄存器初始值0x00000000
ZDICNT0 0x01E8000C R/W ZDMA 0初始计数寄存器初始值0x00000000
3 ZDMA0 当前源/目标地址和计数寄存器
ZDCSRC0 0x01E80010 R ZDMA 0当前源地址寄存器初始值0x00000000
ZDCDES0 0x01E80014 R ZDMA 0当前目标地址寄存器初始值0x00000000
ZDCCNT0 0x01E80018 R ZDMA 0 当前计数寄存器初始值0x00000000
4 ZDMA1 初始源/目标地址和计数寄存器
ZDISRC1 0x01E80024 R/W ZDMA 1初始源地址寄存器初始值0x00000000
ZDIDES1 0x01E80028 R/W ZDMA 1初始目标地址寄存器初始值0x00000000
ZDICNT1 0x01E8002C R/W ZDMA 1初始计数寄存器初始值0x00000000
5 ZDMA1 当前/目标源地址和计数寄存器
ZDCSRC1 0x01E80030 R ZDMA 1当前源地址寄存器初始值0x00000000
ZDCDES1 0x01E80034 R ZDMA 1当前目标地址寄存器初始值0x00000000
ZDCCNT1 0x01E80038 R ZDMA 1 当前计数寄存器初始值0x00000000
ZDMAn的初始当前源地址寄存器位定义
位名称BIT 描述
DST [31:30] 传输的数据类型,在块传输模式,DST必须是10
00 = Byte, 01 = Half word
10 = Word, 11 = Not used
DAL [29:28] 加载地址变动方向
00 = N/A, 01 = Increment
10 = Decrement, 11 = Fixed
ISADDR/CSADDR [27:0] ZDMAn的初始/当前源地址
ZDMAn的初始当前目标地址寄存器位定义
位名称BIT 描述
OPT [31:30] DMA内部选项推荐值OPT = 10
bit 31: 指示在单步模式nXDREQ 如何采样
bit 30: 如果DST是半字或字和DMA 模式不是块传输模式,该位起作用
1: DMA做字或半字交换
传输前: B0,B1,B2,B3,B4,B5,B6,B7...
字交换后: B3,B2,B1,B0,B7,B6,B5,B4,...
半字交换后: B1,B0,B3,B2,B5,B4,B7,B6,...
0: 正常
DAS [29:28] 地址方向
00 = N/A 01 = Increment
10 = Decrement 11 = Fixed
IDADDR/CDADDR [27:0] ZDMAn的初始/当前目标地址
ZAMA计数寄存器位定义
位名称BIT 描述
QSC [31:30] 选择DMA 请求源
00 = nXDREQ[0] 01 = nXDREQ[1]
10 = N/A 11 = N/A
QTY [29:28] DREQ 协议类型
00 = Handshake 01 = Single step
10 = Whole Service 11 = Demand
TMD [27:26] 传输模式
00 = Not used 01 = Unit transfer mode
10 = Block(4-word) transfer mode 11 = On the fly
OTF [25:24] On the fly mode 有效
00 = N/A 01 = N/A
10 = Read time on the fly 11 = Write time on the fly
INTS [23:22] 中断模式设置
00 = 查询模式01 = N/A
10 =无论什么时候传输都产生中断
11 =当中断计数时产生中断
AR [21] 在DMA计数到0时自动加载和自动开始
0 = Disable
1 = Enable.
EN [20] DMA H/W允许/不允许
0 = Disable DMA
1 = Enable DMA.
如果S/W 命令取消, DMA 操作也将被取消和EN位被清除
在中断计数时,EN位也被清除。
注:不要同时设置ZDICNTD的EN位和其它位用户必须在设置其它位后设置EN位,步骤如下:
1. Set ZDICNT register with disabled En bit.
2. Set EN bit enable.
ICNT/CCNT [19:0] ZDMAn的初始/当前传输计数值.,必须正确设置
如果传输单位为字节,ICNT每次减小1
如果传输单位为半字,ICNT每次减小2
如果传输单位为字,ICNT每次减小4
6 BDMA控制寄存器
BDCON0 0x01F80000 R/W BDMA 0 控制寄存器初始值0x00
BDCON1 0x01F80020 R/W BDMA 1 控制寄存器初始值0x00
位名称BIT 描述
INT [7:6] 保留00
STE [5:4] DMA通道的状态(只读)
在DMA的传输计数开始之前,STE呆在准备好状态
00 = Ready 01 = Not TC yet
10 = Terminal Count 11 = N/A
QDS [3:2] 忽落/允许外部DMA 请求(nXDREQ)
00 = Enable other = Disable
CMD [1:0] 软件命令
00: 没有命令.在写01,10,11后, CMD 位被自动清除。,
01: 保留
10: 保留
11: 取消DMA 操作
7 BDMA0 初始源/目标地址和计数寄存器
BDISRC0 0x01F80004 R/W BDMA 0初始源地址寄存器初始值0x00000000
BDIDES0 0x01F80008 R/W BDMA 0初始目标地址寄存器初始值0x00000000
BDICNT0 0x01F8000C R/W BDMA 0初始计数寄存器初始值0x00000000
8 BDMA0 当前源/目标地址和计数寄存器
BDCSRC0 0x01F80010 R BDMA 0当前源地址寄存器初始值0x00000000
BDCDES0 0x01F80014 R BDMA 0当前目标地址寄存器初始值0x00000000
BDCCNT0 0x01F80018 R BDMA 0 当前计数寄存器初始值0x00000000
9 BDMA1 初始源/目标地址和计数寄存器
BDISRC1 0x01F80024 R/W BDMA 1初始源地址寄存器初始值0x00000000
BDIDES1 0x01F80028 R/W BDMA 1初始目标地址寄存器初始值0x00000000
BDICNT1 0x01F8002C R/W BDMA 1初始计数寄存器初始值0x00000000
10 BDMA1 当前/目标源地址和计数寄存器
BDCSRC1 0x01F80030 R BDMA 1当前源地址寄存器初始值0x00000000
BDCDES1 0x01F80034 R BDMA 1当前目标地址寄存器初始值0x00000000
BDCCNT1 0x01F80038 R BDMA 1 当前计数寄存器初始值0x00000000
BDMAn的初始当前源地址寄存器位定义
位名称BIT 描述
DST [31:30] 传输的数据类型
00 = Byte, 01 = Half word
10 = Word, 11 = Not used
DAL [29:28] 加载地址变动方向
00 = N/A, 01 = Increment
10 = Decrement, 11 = Fixed
ISADDR/CSADDR [27:0] BDMAn的初始/当前源地址
BDMAn的初始当前目标地址寄存器位定义
位名称BIT 描述
TDM [31:30] 传输方向模式
00 = 保留
01 = M2IO (从外部存储器到内部外设)
10 = IO2M (从内部外设到外部存储器)
11= IO2IO (从内部外设到内部外设)
注:即使不使用BAMA通道,你也必须改变该值。
DAS [29:28] 地址方向
00 = N/A 01 = Increment
10 = Decrement 11 = Fixed
IDADDR/CDADDR [27:0] BDMAn的初始/当前目标地址
BAMA计数寄存器位定义
位名称BIT 描述
QSC [31:30] 选择DMA 请求源
00 = N/A 01 = IIS
10 = UART0 11 = SIO
Reserved [29:28]
00 = Handshake
Reserved [27:26] 传输模式
01 = Unit transfer mode
Reserved [25:24] 00 = N/A
INTS [23:22] 中断模式设置
00 = 查询模式01 = N/A
10 =无论什么时候传输都产生中断
11 =当中断计数时产生中断
AR [21] 在DMA计数到0时自动加载和自动开始
0 = Disable
1 = Enable.
EN [20] DMA H/W允许/不允许
0 = Disable DMA
1 = Enable DMA.
如果S/W 命令取消, DMA 操作也将被取消和EN位被清除
在中断计数时,EN位也被清除。
注:不要同时设置BDICNTD的EN位和其它位用户必须在设置其它位后设置EN位,步骤如下:
1. Set BDICNT register with disabled En bit.
2. Set EN bit enable.
ICNT/CCNT [19:0] BDMAn的初始/当前传输计数值.
如果传输单位为字节,ICNT每次减小1
如果传输单位为半字,ICNT每次减小2
如果传输单位为字,ICNT每次减小4
8 I/O PORTS
S3C44B0X有71个复合功能的I/O口引脚,分成7个端口
端口E和F(9位I/O口)
端口D和G(8位I/O口)
端口C(16位I/O口)
端口A(10位I/O口)
端口B(11位I/O口)
在主程序开始前,必须定义每个I/O管脚的功能。在特殊功能不用时,作为I/O脚使用
Port A
Function 1 Function 2 Function 3 Function 4
PA9 output ADDR24
PA8 output ADDR23
PA7 output ADDR22
PA6 output ADDR21
PA5 output ADDR20
PA4 output ADDR19
PA3 output ADDR18
PA2 output ADDR17
PA1 output ADDR16
PA0 output ADDR0
PB10 output nGCS5
PB9 output nGCS4
PB8 output nGCS3
PB7 output nGCS2
PB6 output nGCS1
PB5 output nWBE3:nBE3:DQM3
PB4 output nWBE2:nBE2:DQM2
PB3 output nSRAS:nCAS3
PB2 output nSCAS:nCAS2
PB1 output SCLK
PB0 output SCKE
PC15 Input/output DATA31 nCTS0
PC14 Input/output DATA30 nRTS0
PC13 Input/output DATA29 RxD1
PC12 Input/output DATA28 TxD1
PC11 Input/output DATA27 nCTS1
PC10 Input/output DATA26 nRTS1
PC9 Input/output DATA25 nXDREQ1
PC8 Input/output DATA24 nXDACK1
PC7 Input/output DATA23 VD4
PC6 Input/output DATA22 VD5
PC5 Input/output DATA21 VD6
PC4 Input/output DATA20 VD7
PC3 Input/output DATA19 IISCLK
PC2 Input/output DATA18 IISDI
PC1 Input/output DATA17 IISDO
PC0 Input/output DATA16 IISLRCK
PD7 Input/output VFRAME
PD6 Input/output VM
PD5 Input/output VLINE
PD4 Input/output VCLK
PD3 Input/output VD3
PD2 Input/output VD2
PD1 Input/output VD1
PD0 Input/output VD0
PE8 ENDIAN CODECLK input/output
PE7 Input/output TOUT4 VD7
PE6 Input/output TOUT3 VD6
PE5 Input/output TOUT2 TCLK
PE4 Input/output TOUT1 TCLK
PE3 Input/output TOUT0
PE2 Input/output RxD0
PE1 Input/output TxD0
PE0 Input/output Fpllo Fout
PF8 input/output nCTS1 SIOCK IISCLK
PF7 input/output RxD1 SIORxD IISDI
PF6 input/output TxD1 SIORDY IISDO
PF5 input/output nRTS1 SIOTxD IISLRCK
PF4 input/output nXBREQ nXDREQ0 –
PF3 input/output nXBACK nXDACK0 –
PF2 input/output nWAIT – –
PF1 input/output IICSDA – –
PF0 input/output IICSCL
PG7 input/output IISLRCK EINT7
PG6 input/output IISDO EINT6
PG5 input/output IISDI EINT5
PG4 input/output IISCLK EINT4
PG3 input/output nRTS0 EINT3
PG2 input/output nCTS0 EINT2
PG1 input/output VD5 EINT1
PG0 input/output VD4 EINT0
I/O端口控制寄存器
1 PORT A 控制寄存器
PCONA 0x01D20000 R/W port A的配置初始值0x3ff
PDATA 0x01D20004 R/W port A的数据寄存器初始值Undef.
位名称BIT 描述
PA9 [9] 0 = Output 1 = ADDR24
PA8 [8] 0 = Output 1 = ADDR23
PA7 [7] 0 = Output 1 = ADDR22
PA6 [6] 0 = Output 1 = ADDR21
PA5 [5] 0 = Output 1 = ADDR20
PA4 [4] 0 = Output 1 = ADDR19
PA3 [3] 0 = Output 1 = ADDR18
PA2 [2] 0 = Output 1 = ADDR17
PA1 [1] 0 = Output 1 = ADDR16
PA0 [0] 0 = Output 1 = ADDR0
数据寄存器位描述
PA[9:0] [9:0] 当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
2 PORT B 控制寄存器
PCONB 0x01D20008 R/W port B的配置初始值0x7ff
PDATB 0x01D2000C R/W port B的数据寄存器初始值Undef.
位名称BIT 描述
PB10 [10] 0 = Output 1 = nGCS5
PB9 [9] 0 = Output 1 = nGCS4
PB8 [8] 0 = Output 1 = nGCS3
PB7 [7] 0 = Output 1 = nGCS2
PB6 [6] 0 = Output 1 = nGCS1
PB5 [5] 0 = Output 1 = nWBE3/nBE3/DQM3
PB4 [4] 0 = Output 1 = nWBE2/nBE2/DQM2
PB3 [3] 0 = Output 1 = nSRAS/nCAS3
PB2 [2] 0 = Output 1 = nSCAS/nCAS2
PB1 [1] 0 = Output 1 = SCLK
PB0 [0] 0 = Output 1 = SCKE
数据寄存器位描述
PB[10:0] [10:0] 当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
3 PORT C 控制寄存器
PCONC 0x01D20010 R/W port C的配置初始值0xaaaaaaaa
PDATC 0x01D20014 R/W port C的数据寄存器初始值Undef.
PUPC 0x01D20018 R/W port C的上拉电阻配置寄存器初始值0x0
位名称BIT 描述
PC15 [31:30] 00 = Input 01 = Output
10 = DATA31 11 = nCTS0
PC14 [29:28] 00 = Input 01 = Output
10 = DATA30 11 = nRTS0
PC13 [27:26] 00 = Input 01 = Output
10 = DATA29 11 = RxD1
PC12 [25:24] 00 = Input 01 = Output
10 = DATA28 11 = TxD1
PC11 [23:22] 00 = Input 01 = Output
10 = DATA27 11 = nCTS1
PC10 [21:20] 00 = Input 01 = Output
10 = DATA26 11 = nRTS1
PC9 [19:18] 00 = Input 01 = Output
10 = DATA25 11 = nXDREQ1
PC8 [17:16] 00 = Input 01 = Output
10 = DATA24 11 = nXDACK1
PC7 [15:14] 00 = Input 01 = Output
10 = DATA23 11 = VD4
PC6 [13:12] 00 = Input 01 = Output
10 = DATA22 11 = VD5
PC5 [11:10] 00 = Input 01 = Output
10 = DATA21 11 = VD6
PC4 [9:8] 00 = Input 01 = Output
10 = DATA20 11 = VD7
PC3 [7:6] 00 = Input 01 = Output
10 = DATA19 11 = IISCLK
PC2 [5:4] 00 = Input 01 = Output
10 = DATA18 11 = IISDI
PC1 [3:2] 00 = Input 01 = Output
10 = DATA17 11 = IISDO
PC0 [1:0] 00 = Input 01 = Output
10= DATA16 11 = IISLRCK
数据寄存器位描述
PC[15:0] [15:0] 当端口配置为输入口时,该位的值是对应脚的状态
当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
上拉电阻配置寄存器位描述
PC[15:0] [15:0] 0: 允许上拉电阻连接到对应脚
1: 不允许.
4 PORT D 控制寄存器
PCOND 0x01D2001C R/W port D的配置初始值0x0000
PDATD 0x01D20020 R/W port D的数据寄存器初始值Undef.
PUPD 0x01D20024 R/W port D的上拉电阻配置寄存器初始值0x0
位名称BIT 描述
PD7 [15:14] 00 = Input 01 = Output
10 = VFRAME 11 = Reserved
PD6 [13:12] 00 = Input 01 = Output
10 = VM 11 = Reserved
PD5 [11:10] 00 = Input 01 = Output
10 = VLINE 11 = Reserved
PD4 [9:8] 00 = Input 01 = Output
10 = VCLK 11 = Reserved
PD3 [7:6] 00 = Input 01 = Output
10 = VD3 11 = Reserved
PD2 [5:4] 00 = Input 01 = Output
10 = VD2 11 = Reserved
PD1 [3:2] 00 = Input 01 = Output
10 = VD1 11 = Reserved
PD0 [1:0] 00 = Input 01 = Output
10= VD0 11 = Reserved
数据寄存器位描述
PD[15:0] [15:0] 当端口配置为输入口时,该位的值是对应脚的状态
当端口配置为输出口时,对应脚的状态和该位的值相同
当端口配置作为功能脚时,如果读该位的值,将是一个不确定的值
上拉电阻配置寄存器位描述
PD[15:0] [15:0] 0: 允许上拉电阻连接到对应脚
1: 不允许.