色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于CPLD譯碼的DSP二次Bootloader方法

          基于CPLD譯碼的DSP二次Bootloader方法

          作者: 時間:2009-08-31 來源:網絡 收藏

            的原理是由用戶自行編寫一個代碼長度小于16KB的引導程序(以下簡稱 uboot),其功能與內固化的相同,用于加載最終的用戶代碼。在uboot程序中控制Flash存儲器的高位地址線來訪問 Flash的其他存儲內容。這樣,上電復位后,首先加載uboot并運行,然后uboot又加載最終用戶代碼,實現了大于 16K代碼的引導。
          2.1 與Flash及的硬件接口
            本文采用AMD的 Am29LV800作為DSP的外部存儲器擴展。Am29LV800按8位方式訪問,容量為1M字;按16位方式訪問,容量為512K字。DSP外圍電路邏輯譯碼及Flash高位地址線模擬由實現。Xilinx公司的XC9572XL是一款高性能的芯片,最高主頻可達178MHz,包含了 72個宏單元,1 600個可用門電路,其TQFP封裝有72個可用I/O引腳[7]。圖1是5509A與CPLD及Flash之間的硬件接口設計原理圖。

          本文引用地址:http://cafeforensic.com/article/152366.htm

            如圖1所示,5509A的地址線A[13:1]與Flash的地址線A[12:0],A0未用。Flash存儲器被映射到DSP的CE1空間,由片選線CE1經CPLD譯碼后選通。其中DSP的地址線A13和A[3:1]與CPLD接口,用于換頁寄存器FPR的模擬。Flash存儲器的BYTE引腳經上拉后接高電平,即按16位方式訪問。
          2.2 CPLD譯碼VHDL程序設計
            目前DSP系統(tǒng)主頻越來越高,運算速度越來越快,利用小規(guī)模邏輯器件譯碼的方式已不能滿足DSP系統(tǒng)性能的需求。CPLD器件以其嚴格的時序、快速的譯碼、良好的可編程性成為DSP系統(tǒng)必不可少的部件之一。
            本文利用CPLD的快速邏輯譯碼功能,模擬了一個FPR寄存器來控制Flash的高位地址線。VHDL語言源程序如下(篇幅有限,這里省略實體端口聲明及中間信號定義):
          begin
            fce =ce1;
            foe =aoe;
            fwe =awe;
            h_addr =a13;
            l_addr =a3a2a1;
            datain =d5d4d3d2d1d0;
            facs =′1′ when h_addr=′1′
            and ce2=′0′ and l_addr='000'
            else ′0′; --CE2 0x400000
            FPR:process(facs,awe,reset)
            begin
             if reset=′0′ then
             fa=″000000″;
            else if reset=′1′ then
             if awe′event and awe=′1′ then
             if facs=′1′ then
          fa=datain(5 downto 0);
          end if;
          end if;
          end if;
          end process;
          dataout=fa when aoe=′0′ and facs=′1′
          else ″ZZZZZZ″;
            d5 =dataout(5);
            d4 =dataout(4);
            d3 =dataout(3);
            d2 =dataout(2);
            d1 =dataout(1);
            d0 =dataout(0);
            fa18 =fa(18);
            fa17 =fa(17);
            fa16 =fa(16);
            fa15 =fa(15);
            fa14 =fa(14);
            fa13 =fa(13);
          end behaviour;
            由上述VHDL程序可知,FPR寄存器被映射到了CE2空間的0x401000地址。其中引入A13及A[3:1]地址線的目的是為了便于以后的功能擴展,映射出更多的寄存器,如LCD控制寄存器、UART控制寄存器等。



          評論


          相關推薦

          技術專區(qū)

          關閉