主机接口总线(Host-Port Interface)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
本文是对TMS320C6713的datasheet里关于HPI部分的翻译笔记。
HPI寄存器:
(TMS320C6713B Floating-Point Digital Signal.pdf page.25)
16进制地址范围 | 缩写 | 寄存器名 | 注释 |
— | HPID | HPI数据寄存器 | 仅用于主机读写访问 |
— | HPIA | HPI地址寄存器 | 仅用于主机读写访问 |
0188 0000 | HPIC | HPI控制寄存器 | 主机和CPU均可读写访问 |
0188 0004 – 018B FFFF | — | 保留 |
|
器件配置:
(TMS320C6713B Floating-Point Digital Signal.pdf page.32-47)
C6713B器件的启动模式和配置/外设选择取决于器件复位时,而其它的器件配置/外设选择是通过器件复位以后软件编程器件配置寄存器(DEVCFG,地址为0x019C0200)。
表18描述了器件配置管脚,具体是通过对HPI数据管脚(HD[4:3],HD8,HD12)和CLKMODE0管脚添加内部或者外部的上拉或下拉电阻实现。这些管脚必须被设置在特定状态知道复位完成。
表18 器件复位时的器件配置管脚(HD[4:3],HD8,HD12)
配置管脚 | 实际管脚数 | 功能描述 |
HD121 | 168 | 对于C6713BGDP或者C6713BZDP: 0 – EMIF数据将放置在总线的ED[7:0]上,忽略endianess模式 1 – 在little endian模式(HD8=1),8bit或16bit的EMIF数据将放置在总线的ED[7:0]上;在big endian模式(HD8=0),8bit或16bit的EMIF数据将放置在总线的ED[31:24]上(缺省) |
HD82 | 160 | 器件endian模式: 0 - 系统工作在bit endian模式 1 – 系统工作在little endian模式 |
HD[4:3] (BOOTMODE) | 156,154 | 启动模式配置脚: 00 - HPI启动/Emulation启动 01 – CE1#宽度8bit,缺省时序异步外部ROM启动(缺省模式) 10 - CE1#宽度16bit,缺省时序异步外部ROM启动 11 - CE1#宽度32bit,缺省时序异步外部ROM启动 |
CLKMODE0 | 205 | 输入时钟源选择: 0 – 保留,不使用 1 – CLKIN方波(缺省) 这个管脚在复位后必须设置为准确的状态 |
1所有其它的HD管脚HD[15,13,11:9,7:5,2:0]已被上拉或者下拉(IPUs or IPDs)。为了器件正常运转,在复位时把HD[13,11:9,7,1,0]脚添加外部上拉或者下拉,然后反对在复位时驱动HD[15,6,5,2]脚。
2IPD=Internal pulldown(内部下拉),IPU=Internal pullup(内部上拉)。使用外部上拉或者下拉电阻值分别不要大于4.4KΩ和2.0kΩ。
器件复位时的外设管脚选择
一些外设复用相同的管脚并且相互排斥(例如HPI口和部分GPIO以及McASP1)。
HPI,GPIO和McASP1外设:
HPI_EN(HD14脚)在复位时被锁定。这个脚决定了HPI外设管脚、McASP1外设管脚和GP[15:8,3,1,0]管脚的功能是否使能(见表19)。
表19 HPI_EN(HD14 PIN)外设选择(HPI,GPIO和McASP1)
外设管脚选择 | 外设管脚已被选择 | 描述 | |
HPI_EN(173) | HPI | McASP1和GP[15:8,3,1,0] | |
0 |
| √ | HPI功能屏蔽,McASP1和GPIO功能可用 |
1 | √ |
| HPI功能可用,McASP1和GP[15:8,3,1,0]功能屏蔽 |
通过设置DEVCFG控制寄存器进行外设选择和器件配置
器件配置寄存器(DEVCFG)允许控制McBSP0,McBSP1,McASP0,I2C1和定时器外设的管脚是否可用。DEVCFG也支持用户控制EMIF输入时钟源和定时器输出脚。(其它略,主要是软件配置)
TMS320C6713的HPI管脚:
(TMS320C6713B Floating-Point Digital Signal.pdf page.39)
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />
TMS320C6713的HPI框图:
(TMS320C6713B Floating-Point Digital Signal.pdf page.)
HPI外围管脚描述:
(TMS320C6713B Floating-Point Digital Signal.pdf page.49-51)
信号名 | 管脚号 | 类型 | IPU/IPD | 描述 |
HINT# | 135 | O/Z | IPU | 主机中断(从DSP到主机)(O)[缺省] |
HCNTL1 | 144 | I | IPU | 主机控制——选择访问控制寄存器、地址寄存器或数据寄存器(I)[缺省] |
HCNTL0 | 146 | I | IPU | 主机控制——选择访问控制寄存器、地址寄存器或数据寄存器(I)[缺省] |
HHWIL | 139 | I | IPU | 主机半字选择——第一个或第二个半字(不需要高低排序)(I)[缺省] |
HR/W# | 143 | I | IPU | 主机读或写选择(I)[缺省] |
HD[15] | 174 | I/O/Z | IPU | 主机接口数据管脚 |
HD[14] | 173 | IPU | ||
HD[13] | 172 | IPU | ||
HD[12] | 168 | IPU | ||
HD[11] | 167 | IPU | ||
HD[10] | 166 | IPU | ||
HD[9] | 165 | IPU | ||
HD[8] | 160 | IPU | ||
HD[7] | 164 | IPU | ||
HD[6] | 161 | IPU | ||
HD[5] | 159 | IPU | ||
HD[4] | 156 | IPD | ||
HD[3] | 154 | IPU | ||
HD[2] | 155 | IPU | ||
HD[1] | 152 | IPU | ||
HD[0] | 147 | IPU | ||
HAS# | 153 | I | IPU | 主机地址锁存(I)[缺省] |
HCS# | 145 | I | IPU | 主机片选(I)[缺省] |
HDS1# | 151 | I | IPU | 主机数据锁存1(I)[缺省] |
HDS2# | 150 | I | IPU | 主机数据锁存2(I)[缺省] |
HRDY# | 140 | O/Z | IPD | 主机准备完成(从DSP到主机)(O)[缺省] |
说明:该表只讨论HPI功能,不罗列出管脚的其它复用功能
启动模式:
(TMS320C6713B Floating-Point Digital Signal.pdf page.98)
主机启动(Host boot)
如果选择了主机启动,在内部复位之后,CPU内部“停转”从而释放其它设备。在这个时期,外部主机可以通过主机总线初始化CPU的内存空间,包括诸如那些控制EMIF或其它外设的内部配置寄存器。一旦主机完成了必要的初始化,就必须设置HPIC寄存器的DSPINT位,以完成启动进程。这个转换促成启动配置逻辑将CPU跳出“停转”状态。然后CPU将从零地址开始执行(程序)。由于DSPINT位出现在CPU依然处于内部“停转”状态,所以它不会被CPU锁存。然而,在主机启动模式下,DSPINT位促使CPU跳出“停转”状态。所有内存将由主机配置,这就意味着主机可以根据需要决定写入CPU的代码。在CPU跳出“停转”状态后,CPU需要清除DSPINT位,否则,DSPINTs就不会再被接收到。
Emulation启动(略)
EMIF启动(使用缺省ROM模式)(略)
HPI时序图:
(TMS320C6713B Floating-Point Digital Signal.pdf page.130-131)
当HCS#为高电平时,HRDY#总是低电平。当HCS#下降沿到来的同时,HRDY#拉高,这意味着HPI总线处于忙状态(执行一个地址自增的HPID读操作或者写操作)。
文章评论(0条评论)
登录后参与讨论