新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > TMS320VC5402與模擬芯片TLC320AD50C接口設計

        TMS320VC5402與模擬芯片TLC320AD50C接口設計

        作者: 時間:2012-03-17 來源:網絡 收藏

        3.1 硬件連接
        根據圖1和圖2的時序,則容易實現TLC320AD50C與的硬件連接,如圖3所示。

        TLC320AD50C的MCLK外接8.192MHz的晶振,的FSX和FSR由TLC320AD50C設置。如果選擇D7=0,N=8,則采樣速率為8kHz。

        3.2 通信協議
        TLC320AD50C的通信有兩種格式:一次通信格式和二次通信格式。
        一次通信格式的16位都用來傳輸數據。DAC的數據長度由寄存器1的D0位決定。啟動和復位時,缺省值為15+1位模式,最后一位要求二次通信。如果工作在16位傳輸模式,則必須由FC產生二次通信請求。
        二次通信格式則用來初始化和修改TLC320AD50C內部寄存器的值。在二次通信中可通過向DIN寫數據來初始化。
        格式如下:

        系統復位后,必須通過DSP的DX口向TLC320AD50C的DIN寫數據,如果采用一片TLC320AD50C,只需初始化其寄存器1、寄存器2和寄存器4。
        由于通信數據長度為16位,初始化時應通過RCR1和XCR1設置McBSP的傳輸數據長度為16。考慮到TLC320AD50C復位后至少經過6個MCLK才可以脫離復位,故可以在此時間內初始化DSP的串行口。

        3.3 軟件實現
        SERIAL_INIT
        LD #AIC_DPDP 為AIC的復位初始化DP
        ST #K_RESET AIC_IN_RESET
        PORTW #AIC_IN#RESET K_AIC_ADDR 復位AIC
        Need at least 6 cycles to pull the aic out of reset
        STM #K_SERIAL_RETR SPCR1
        STM #K_SERIAL_RETX SPCR2
        初始化串行口控制寄存器1,2復 位串行口
        STM #K_SERIAL_OUTRETR SPCR1
        STM #K_SERIAL_OUTRETX SPCR2
        使串行口脫離復位
        RSBX INTM INTM=0,打開所有的中斷
        LD #0 DP
        ORM #K_BRINT0|K_BXINT0IMR
        打開BRINT0和BXINT0
        LD #AIC_DPDP
        STM # K_BRINT0 IFR 清除標志
        ST #K_ORESET AIC_OUT_RESET
        PORTW #AIC_OUT_RESET K_AIC_ADDR
        AIC脫離復位
        STM RCR1#K_RFW
        初始化接收控制寄存器1,設
        置接收數據長度為16位
        STM XCR1#K_XFW
        初始化發送控制寄存器1,設
        置發送數據長度為16位
        STM PCR#K_SERIAL
        設置為串行口工作方式,而不
        是通用I/O方式
        STM #K_DATA DXR1
        向DIN寫數據,引起二次通信,
        等待串行口中斷
        IDLE
        在BXINT0的中斷服務程序里,向DXR1寫入寄存器的值。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 三门峡市| 武宣县| 南宫市| 靖州| 宁明县| 怀来县| 贵定县| 湖北省| 西畴县| 舒兰市| 紫金县| 老河口市| 鄂伦春自治旗| 海兴县| 横峰县| 双牌县| 晴隆县| 同德县| 青海省| 佛山市| 开化县| 汉沽区| 巴林左旗| 桦川县| 巨鹿县| 潞城市| 东莞市| 图木舒克市| 乌拉特后旗| 镇康县| 罗田县| 鸡东县| 吕梁市| 香格里拉县| 乌鲁木齐县| 那坡县| 德令哈市| 灵石县| 黑河市| 霸州市| 伊春市|