|
热门文章
推荐文章
最新文章
|
802.11b无线网站和EPXA1开发板的MAC平台(2)
原作者:[标签:作者] 添加时间:2007-06-28 原文发表时间:2007-06-29 人气:1
本文章共2452字,分2页,当前第2页,快速翻页:
|
在写程序之前,首先要弄清楚各个控制寄存器的读写过程。
BBP(基带处理器)的控制接口是一个典型的三线接口,即只有时钟(SCLK、)数据(SD)和片选(CS_BAR)三个信号,没有单独的读/写使能信号,面临早用了地址的最高位来标识读或写操作。每次读/写操作时,数据线(SD)上先后出现串行的地址和数据,其中地址位的MSB(A7)=1时为写操作,表明将数据写入该地址对应的寄存器中;地址位MSB(A7)=0时为读操作,表面后面的数据是从该地址指示的寄存器中读取出来的。
HFA3683与HFA3783的读写时序相同,通过LE_RF和LE_I的有效(低有效)来决定对哪块芯片进行读写。
DATA线上的串行数据是在时钟的上升沿写入芯片中的一个20位的移位寄存器,然后在LE的上升沿写入根据LSB1和LSB2两位对应的地址。
上述的串行输出数据(SD)和时钟(SCLK)由PLCI逻辑产生。各前端芯片利用时钟的上升沿来采集数据的,所以数据与时钟的上升沿要严格对齐,有足够的建立时间和保持时间。
在PLCI的设计中,定义了一些寄存器与CPU通信,这些寄存器根据相应芯片读写时序的要求,有不同的宽度,例如BBP的写寄存器有17位,低8位为要写入的数据,高8位为要写入的寄存器的地址,最高位用来表明写入操作是否完成。以便启动下一次读写操作。
ESS(Excalibur Strpe Simulator)是一个Stripe仿真模型,它可以仿真CPU指令的执行,并用来观察PLD to Stripe和Stripe to PLD的总线时序。ADS 1.2带的AXD调试器可以模块CPU执行指令的情况,并观察每条指令执行之后系统的状态。

通过AXD Debugger与ESS的结合,可以观察一条PLD-to-Stripe或者Stripe-to-PLD总线操作指令执行后相应总线上的时序,再结合ModelSim进行仿真,方便了程序的调试。图4是ModelSim中对BBP进行配置时的仿真波形,该波形与要求的BBP的写入逻辑是一致的。
3 系统的启动和验证
在启动系统前,还必须写一个PLCI.C文件,在其中利用c函数对PLCI.V中定义的寄存器进行读写操作。
//BBP的写操作函数
void BBP_wr(long val)
{
*BBP_WRITE=vall0x8000;
//val的高八位是地址,低八位为数据,最高位置1表明为写寄存器操作
while(((*BBP_WRITE) 本文章更多内容:<<上一页 - 1 - 2 |
 本文章所属分类: 首页
→ 设备修理知识
|
文章搜索
|