機(jī)電之家資源網(wǎng)
單片機(jī)首頁|單片機(jī)基礎(chǔ)|單片機(jī)應(yīng)用|單片機(jī)開發(fā)|單片機(jī)文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
MSP430與ADC LC549/1549的接口技術(shù)
MSP430與ADC LC549/1549的接口技術(shù)
 更新時(shí)間:2008-7-26 20:35:04  點(diǎn)擊數(shù):4
【字體: 字體顏色
MSP430系列的許多型號(hào)內(nèi)部都含有A/D轉(zhuǎn)換器(ADCs),例如MSP430F13x系列和MSP430F14x系列,內(nèi)部均含有12位的A/D。但在許多應(yīng)用場合,不需要12位的A/D,只需要8 位或10位的A/D就足夠了。這時(shí)候用戶可能會(huì)選擇MSP430x11x系列,外部添加模數(shù)轉(zhuǎn)換器。在典型應(yīng)用中,低功耗、易操作的TLC549(8位 A/D)或TLV1549(10位A/D)器件可經(jīng)很方便地與MSP430連接。本文介紹一個(gè)MSP430F1121與TLC549的接口實(shí)例。
1 硬件設(shè)計(jì)
MSP430F1121使用三個(gè)I/O口與TLC549的接口串行相連,通過串行接口采樣。TLC549完成A/D轉(zhuǎn)換的時(shí)間小于17μs。電路原理圖如下所示。
                 
                       TLC549-MSP430F1121應(yīng)用電路
2 工作原理
   利用三個(gè)數(shù)字I/O接口,MSP430F1121驅(qū)動(dòng)TLC549 A/D轉(zhuǎn)換采用異步串行接口,在實(shí)際應(yīng)用中,MSP430F1120的I/O管腳P2.0和P2.1用P2的方向寄存器(P2DIR)配置為輸出,用P2 的輸出寄存器(P2OUT)提供相應(yīng)位的輸出緩沖信息。P2.0管腳與TLC549的選片管腳CS相連,P2.1管腳與TLC549的輸入/輸出時(shí)鐘 I/O CLK相連。轉(zhuǎn)換數(shù)據(jù)從TLC549的數(shù)據(jù)輸出管腳DO讀出,進(jìn)入MSP430F1121的P2.3管腳。如上圖所示,MSP430F1121選擇了 P2.0、P2.1、P2.3三個(gè)管腳,實(shí)際上任意一個(gè)管腳均能夠驅(qū)動(dòng)TLC549。當(dāng)CS為高電平時(shí),DO為高阻狀態(tài)。轉(zhuǎn)換開始之前,CS必須為低電平,以確保完成轉(zhuǎn)換,MSP430F1121在P2.1管腳上產(chǎn)生總計(jì)8個(gè)的時(shí)鐘脈沖應(yīng)用于TLC549 I/O CLK管腳的輸入。當(dāng)CS為低電平時(shí),最先出現(xiàn)在DO管腳的信號(hào)為轉(zhuǎn)換值得最高位。MSP430F1121通過P2.3管腳,從TLC549的DO管腳連續(xù)移位讀取轉(zhuǎn)換數(shù)據(jù)進(jìn)入ADCDATA寄存器。最初的四個(gè)脈沖的下降沿分別移出上一次轉(zhuǎn)換值的第6位、5位、4位、3位,其中第四個(gè)時(shí)鐘下降沿啟動(dòng)采樣功能,采樣TL549模擬輸入信號(hào)的當(dāng)前轉(zhuǎn)換值。后續(xù)三個(gè)時(shí)鐘脈沖輸送給I/O CLK管腳,分別在下降沿把上一次轉(zhuǎn)換值的第2位、1位、0位轉(zhuǎn)換位移出。最終(第八個(gè))時(shí)鐘脈沖的下降沿芯片,采樣/保持功能開始保持操作,保持操作持續(xù)到下一個(gè)第四時(shí)鐘的下降沿。轉(zhuǎn)換的周期由TLC549的內(nèi)部振蕩器定時(shí),不受外部時(shí)鐘的約束。一個(gè)轉(zhuǎn)換完成需要17μs。在轉(zhuǎn)換過程中, CS給一個(gè)高電平,DO回到高阻狀態(tài)。下一次轉(zhuǎn)換序列之前,至少延時(shí)17μs,否則TLC549的轉(zhuǎn)換代碼將被破壞。

3 軟件設(shè)計(jì)
   在程序中,在程序MEAS_549需要150 MCLK周期和31個(gè)字節(jié)的匯編代碼包括子程序調(diào)用。整個(gè)例程需要60個(gè)字節(jié),功能包括:關(guān)閉看門狗,設(shè)置堆棧指針,系統(tǒng)復(fù)位以后I/O的初始化,子程序 MEAS_549被調(diào)用驅(qū)動(dòng)8位轉(zhuǎn)換代碼順序進(jìn)入ADCDATA寄存器,一個(gè)寄存器(R12)臨時(shí)用來計(jì)算字節(jié)的位數(shù)。

源代碼如下:
NAME fet_549 ; MSP430F1121 - TLC549接口例程;
--------------------------------------------------------------------------------
#define ADCData R11
#define Counter R12
 
P2IN      equ 00028h ; P2口輸入寄存器
P2OUT_    equ 00029h ; P2口輸出寄存器
P2DIR_    equ 0002Ah ; P2口方向寄存器
WDTCTL_   equ 00120h ; 看門狗定時(shí)控制器
WDTHOLD   equ 00080h ; 看門狗保持位
WDTPW     equ 05A00h ; 看門狗寫入控制字

CS        equ 001h ; P2.0 芯片片選
CLK       equ 002h ; P2.1 芯片時(shí)鐘
DO        equ 008h ; P2.3 數(shù)據(jù)輸出

;---------------------------------------------------------------------
ORG 0F000h ; 編程起始地址
;---------------------------------------------------------------------
RESET     MOV.w #0300h,SP                ; 初始化X112X堆棧
StopWDT   MOV.w #WDTPW+WDTHOLD,&WDTCTL   ; 關(guān)閉看門狗定時(shí)器
SetupP2   MOV.b #CS,&P2OUT               ; /CS設(shè)置, P2.X初始化
bis.b #CS+CLK,&P2DIR                     ; /CS 和 CLK輸出
;

Mainloop call #Meas_549                  ; 調(diào)用Meas_549子程序
jmp Mainloop                             ; 重復(fù)調(diào)用Meas_549子程序

;---------------------------------------------------------------------
Meas_549; 采樣TLC549的數(shù)據(jù),數(shù)據(jù)移入ADCData(R11),
;計(jì)數(shù)器 (R12)記錄移位的位數(shù)
;---------------------------------------------------------------------
MOV.w #8,Counter                   ; 8位數(shù)據(jù)的位數(shù)
clr.w ADCData                      ; 清除數(shù)據(jù)緩沖區(qū)
bic.b #CS,&P2OUT                   ; /CS復(fù)位, 使能ADC
ADC_Loop bit.b #DO,&P2IN           ; (4) DO移入C (進(jìn)位)
bis.b #CLK,&P2OUT                  ; (4) 時(shí)鐘變高電平
bic.b #CLK,&P2OUT                  ; (4) 時(shí)鐘變低電平
rlc.w ADCData                      ; (1) C移入ADCData
dec.w Counter                      ; (1) 8位全部移入否?
jnz ADC_Loop                       ; (2) 如果沒有,調(diào)用ADC_Loop
bis.b #CS,&P2OUT                   ; /CS設(shè)置, 關(guān)閉ADC
ret ; 調(diào)出子程序
;---------------------------------------------------------------------
ORG 0FFFEh ;
;---------------------------------------------------------------------
DW RESET ; MSP430復(fù)位向量
END

用戶可對(duì)子程序MEAS_549的其中一行進(jìn)行修改,目的是達(dá)到10位轉(zhuǎn)換的需求。程序中需要10個(gè)脈沖量,數(shù)據(jù)移動(dòng)10位進(jìn)入ADCDATA寄存器。 MOV.w #10,Counter ; 10位數(shù)據(jù)的位數(shù).
  • 上一篇: MSP430控制6963c驅(qū)動(dòng)液晶
  • 下一篇: 實(shí)戰(zhàn)msp430:TB捕獲PWM波的脈沖寬度
  • 發(fā)表評(píng)論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點(diǎn)文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評(píng)論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機(jī)電之家 | 會(huì)員助手 | 免費(fèi)鏈接

    點(diǎn)擊這里給我發(fā)消息66821730(技術(shù)支持)點(diǎn)擊這里給我發(fā)消息66821730(廣告投放) 點(diǎn)擊這里給我發(fā)消息41031197(編輯) 點(diǎn)擊這里給我發(fā)消息58733127(審核)
    本站提供的機(jī)電設(shè)備,機(jī)電供求等信息由機(jī)電企業(yè)自行提供,該企業(yè)負(fù)責(zé)信息內(nèi)容的真實(shí)性、準(zhǔn)確性和合法性。
    機(jī)電之家對(duì)此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請(qǐng)聯(lián)系機(jī)電之家,機(jī)電之家將及時(shí)作出處理。
    Copyright 2007 機(jī)電之家 Inc All Rights Reserved.機(jī)電之家-由機(jī)電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機(jī)電一體化學(xué)會(huì)
    中國行業(yè)電子商務(wù)100強(qiáng)網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1