新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的三線制同步串行通信控制器設計

        基于FPGA的三線制同步串行通信控制器設計

        作者: 時間:2012-08-23 來源:網絡 收藏

        如圖3所示,根據設計要求,可將劃分成3個主要功能模塊:接口模塊、接收模塊和發送模塊。

        三線制同步串行通信控制器結構圖
        圖3 結構圖

        (1)接口模塊:用于各種全局信號的邏輯組合譯碼控制。同時,對輸入的系統時鐘進行時鐘分頻,為接收模塊和發送模塊提供串行同步時鐘信號。

        (2)接收模塊:用于接收外圍串行設備傳來的串行數據,此功能模塊的核心是接收FIFO和串/并變換兩大模塊,其中接收FIFO作為數據緩沖器暫存接收到的數據。在接收數據標志、接收移位寄存器和接收移位計數器的配合驅動下,串行數據按照MSB先、LSB后的順序經過串/并變換后,并行數據被存儲于接收FIFO中,等待中斷響應后CPU對數據進行處理。

        (3)發送模塊:用于向外圍串行設備發送串行數據,此功能模塊的核心是發送FIFO和并/串變換兩大模塊。CPU將要發送的數據先放到系統的并行數據總線上,并被暫存于發送FIFO中,在響應發送中斷信號后,并行數據按照MSB首發、LSB后發的順序,在控制信號驅動下,經過并/串變換,發送的數據最終以串行數據格式被送往外圍串行設備端口。

        IP核實體名接口用VHDL語言定義如下:

        ENTITY SerSendRec IS

        PORT( RST_n:IN STD_LOGIC;

        Clk:IN STD_LOGIC;

        Cs:IN STD_LOGIC;

        Strobe:IN STD_LOGIC;

        Rw:IN STD_LOGIC;

        Addr:IN STD_LOGIC_VECTOR(2 DOWNTO 0);

        Rdata:IN STD_LOGIC;

        Rclk:OUT STD_LOGIC;

        Rgate:OUT STD_LOGIC;

        Int:OUT STD_LOGIC;

        Sdata:OUT STD_LOGIC;

        Sclk:OUT STD_LOGIC;

        Sgate:OUT STD_LOGIC;

        Data:INOUT STD_LOGIC_VECTOR(7 DOWNTO 0));

        END SerSendRec;




        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 舞钢市| 印江| 甘泉县| 长宁县| 清远市| 兴山县| 丹棱县| 广平县| 泉州市| 沙湾县| 平邑县| 张北县| 滕州市| 商洛市| 谢通门县| 沙田区| 隆化县| 苍南县| 武宁县| 拉萨市| 什邡市| 新田县| 枣阳市| 吉林省| 唐山市| 桑植县| 乾安县| 延川县| 小金县| 全南县| 巩留县| 云安县| 深泽县| 新密市| 隆昌县| 阳原县| 宁陵县| 长武县| 苗栗县| 望江县| 公安县|