一種新型1553B備份總線控制器設(shè)計與實(shí)現(xiàn)
初始化協(xié)議芯片由主機(jī)完成,主要包括協(xié)議芯片固定地址初始化及寄存器初始化,表1給出了在共享RAM為64 KB的硬件環(huán)境下,RTMT的資源分配表,其中標(biāo)明“固定”的表示該地址為1553B協(xié)議芯片單獨(dú)使用,且地址的值不能變更。
2.1. 1 固定地址初始化
RTMT模式中需要初始化的固定地址包括:RT命令棧指針A、監(jiān)控命令棧指針A、監(jiān)控數(shù)據(jù)棧指針A、方式代碼選擇中斷表、方式代碼數(shù)據(jù)、RT查詢表A、忙位查詢表、選擇監(jiān)控查詢表、命令非法表。固定地址初始化步驟及方法如下:雙端口RAM地址0000H-00FFH初始化為0000H,作為RT命令站空間;雙端口RAM地址0100H初始化為0000H,用于設(shè)置RT命令棧指針首地址為0000H;雙端口RAM地址0102H初始化為0400H,用于設(shè)置MT命令棧指針A起始地址為0400H;雙端口RAM地址0103H初始化為0800H,用于設(shè)置MT數(shù)據(jù)棧指針A起始地址為0800H;設(shè)置方式代碼選擇中斷表;雙端口RAM地址0110H~013FH設(shè)置為0000H,用于初始化方式代碼數(shù)據(jù)值為0000H;雙端口RAM地址0240H~0247H設(shè)置為0000H,清除RT的所有子地址忙位;雙端口RAM地址000H~03FFH設(shè)置為FFFFH,設(shè)置命令非法表;初始化RT查找表數(shù)據(jù)指針空間,接收緩沖區(qū)地址從0x6000開始,發(fā)送緩沖區(qū)地址從0x8000開始;每個數(shù)據(jù)塊長度為40 B,開始的一個字作為消息塊標(biāo)志字,廣播接收消息與非廣播接收消息共用同一個緩沖區(qū),具體初始化流程如下:
2.1.2 寄存器初始化
通過配置1553B協(xié)議芯片的寄存器,設(shè)置協(xié)議芯片處于不同的工作模式,RTMT工作模式下的協(xié)議芯片寄存器初始化方法及步驟如下:向啟動/復(fù)位寄存器寫入值0001H,復(fù)位ACE協(xié)議芯片;配置寄存器3寫入8000H,使ACE協(xié)議芯片工作于增強(qiáng)模式;中斷掩碼寄存器1設(shè)置為0201 H,使能握手失敗中斷及消息結(jié)束中斷;配置寄存器1設(shè)置為9880H,使能BUSY,SSFLAG,RTFLAG RT/BM;配置寄存器2設(shè)置為8498H,使能電平中斷,256 B邊界禁止,RT子地址發(fā)送/接收采用單緩沖模式;配置寄存器3設(shè)置為8D5DH,使能方式命令的相關(guān)操作,設(shè)置RT命令棧為256 B,MT命令棧為1 024 B,MT數(shù)據(jù)棧為2 048 B;配置寄存器4設(shè)置為C008H,外部BIT字使能,使能RT地址軟件鎖存方式;將經(jīng)過奇校驗(yàn)RT地址寫入配置寄存器5,作為備份總線控制器的RT地址;配置寄存器6設(shè)置為6172H,設(shè)置時鐘頻率為20 MHz,使能軟件配置RT地址,使能協(xié)議芯片中斷隊(duì)列操作;將中斷向量隊(duì)列指針寄存器初始化為1000H,表明中斷向量隊(duì)列是從1000H開始的64 B空間;將數(shù)據(jù)棧指針寄存器初始化為080 0H,用于設(shè)置MT數(shù)據(jù)棧指針的起始地址為0800H;讀取配置寄存器1的值或上0400H后寫入配置寄存器1,用于清除RT忙位,使能協(xié)議芯片進(jìn)行通信。
評論