国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于SPI總線的TLC5615在AVR單片機(jī)中的應(yīng)用

2011-06-06 06:56:28左現(xiàn)剛余周侯志松張志霞
關(guān)鍵詞:低電平寄存器總線

左現(xiàn)剛,余周,侯志松,張志霞

(河南科技學(xué)院,河南新鄉(xiāng)453003)

通過(guò)單片機(jī)I/O口直接控制繼電器或可控硅是后向通道中最簡(jiǎn)單的形式,當(dāng)被控對(duì)象需要根據(jù)模擬量的大小連續(xù)控制時(shí),最簡(jiǎn)單的方法便是采用數(shù)/模轉(zhuǎn)換器(DAC).DAC種類繁多,從接口形式來(lái)看,有串口和并口之分.早期的DAC一般采用并口方式,如廣為流行的DAC0832.隨著半導(dǎo)體技術(shù)的不斷發(fā)展和進(jìn)步,為節(jié)省CPU的硬件資源,目前一些新型的D/A轉(zhuǎn)換器均采用了流行的串行總線協(xié)議,如采用SPI(Serial Peripheral Interface)總線協(xié)議的TLC5615.該總線是由Motorola公司提出的一種4線制同步串行外設(shè)總線接口,包括時(shí)鐘、使能、輸入和輸出4根引腳,主要用于CPU與各種外圍器件以串行方式進(jìn)行通信[1-2].從D/A芯片的輸出形式來(lái)看,又分為電流輸出型和電壓輸出型兩種,常用的DAC0832就是典型的電流輸出型D/A轉(zhuǎn)換器.由于輸出是電流形式,因此在實(shí)際的電路設(shè)計(jì)中還必須通過(guò)運(yùn)算放大器組成電流/電壓轉(zhuǎn)換器將電流輸出轉(zhuǎn)化成電壓輸出.而TLC5615則是電壓輸出型,可以通過(guò)外接的基準(zhǔn)電壓來(lái)調(diào)節(jié)電壓輸出的幅度[3-4].

1 TLC5615簡(jiǎn)介

1.1 概述

TLC5615是帶有緩沖基準(zhǔn)輸入(高阻抗)的10位電壓輸出DAC,具有基準(zhǔn)電壓兩倍的輸出范圍,且DAC是單調(diào)變化的,使用簡(jiǎn)單,采用單5 V電源,具有上電復(fù)位功能以確??芍貜?fù)啟動(dòng).數(shù)字控制通過(guò)3線串行SPI總線,與CMOS兼容且易于和工業(yè)標(biāo)準(zhǔn)微控制器接口.器件接收16位數(shù)據(jù)字以產(chǎn)生模擬輸出.數(shù)字輸入端帶有施密特觸發(fā)器,具有高噪聲抑制能力.工作溫度范圍為0~70℃.其功能框圖如圖1所示.

圖1 TLC5615內(nèi)部功能

1.2 引腳功能

8腳直插式TLC5615的引腳分布如圖2所示,各引腳功能如表1所示.

圖2 TLC5615引腳排列

表1 TLC5615引腳功能

2 TLC5615的工作原理

2.1 TLC5615的時(shí)序

圖3 TLC5615的工作時(shí)序

TLC5615工作時(shí)序如圖3所示.可以看出,只有當(dāng)片選CS為低電平時(shí),串行輸入數(shù)據(jù)才能被移入16位移位寄存器.當(dāng)CS為低電平時(shí),在每一個(gè)SCLK時(shí)鐘的上升沿將DIN的一位數(shù)據(jù)移入16位移寄存器.注意,二進(jìn)制最高有效位被導(dǎo)前移入.接著,在CS的上升沿將16位移位寄存器的10位有效數(shù)據(jù)鎖存于10位DAC寄存器,供DAC電路進(jìn)行轉(zhuǎn)換;當(dāng)片選CS為高電平時(shí),串行輸入數(shù)據(jù)不能被移入16位移位寄存器.注意,CS的上升和下降都必須發(fā)生在SCLK為低電平期間.

2.2 TLC5615的工作方式

從圖1可以看出,16位移位寄存器分為高4位虛擬位、低2位填充位以及10位有效位.在單片TLC5615工作時(shí),只需要向16位移位寄存器按先后輸入10位有效位和低2位填充位,2位填充位數(shù)據(jù)任意,這是第一種方式,即12位數(shù)據(jù)序列.第二種方式為級(jí)聯(lián)方式,即16位數(shù)據(jù)序列,可以將本片的DOUT接到下一片的DIN,需要向16位移位寄存器按先后輸入高4位虛擬位、10位有效位和低2位填充位,由于增加了高4位虛擬位,所以需要16個(gè)時(shí)鐘脈沖.其輸出電壓為:

VOUT=VREFIN×N/1 024

其中:VREFIN為參考電壓,N為輸入的二進(jìn)制數(shù).

3 TLC5615與單片機(jī)接口的硬件連接與程序設(shè)計(jì)

3.1 硬件連接

TLC5615與Mega16接口采用標(biāo)準(zhǔn)的SPI串行總線協(xié)議,實(shí)際連接可參照?qǐng)D4,當(dāng)MCU自身不帶有SPI接口時(shí),可通過(guò)普通I/O口模擬SPI串行總線協(xié)議的工作方式.在片選/CS為低電平時(shí),由MCU發(fā)往TLC5615的輸入數(shù)據(jù)被讀入到16位移位寄存器(最高有效位在前).在SCK時(shí)鐘信號(hào)的上升沿把數(shù)據(jù)送到輸入寄存器,隨后由/CS片選信號(hào)的上升沿將數(shù)據(jù)傳送至DAC寄存器.當(dāng)/CS為高電平時(shí),輸入數(shù)據(jù)不能由時(shí)鐘同步并送入到輸入寄存器[5-6].

圖4 TLC5615與Mega16的連接

SPI協(xié)議規(guī)定為8位字節(jié)形式,因此數(shù)據(jù)輸入到DAC寄存器需要兩個(gè)寫(xiě)周期.對(duì)于QSPI接口,由于總線傳送的數(shù)據(jù)格式為8位至16位可變,因此可以在一個(gè)寫(xiě)周期之內(nèi)將輸入數(shù)據(jù)裝載至DAC輸入寄存器.TLC5615的轉(zhuǎn)換精度與PCB板的設(shè)計(jì)相關(guān),模擬地和數(shù)據(jù)地在印制電路板中應(yīng)嚴(yán)格區(qū)分.TLC5615的AGND模擬地端應(yīng)連接到系統(tǒng)模擬地,并應(yīng)在VDD和AGND之間靠近器件處并聯(lián)一個(gè)電容量為104的旁路電容.

3.2 程序設(shè)計(jì)及驗(yàn)證

程序編輯軟件采用ICCAVR,版本為6.31.程序代碼如下:

通過(guò)程序可以看出,在保證SPI同步傳輸?shù)母咝院透咚傩缘耐瑫r(shí),采用SPI接口的芯片在和微控制器進(jìn)行數(shù)據(jù)通信時(shí),控制程序顯得簡(jiǎn)單和清晰.

4 結(jié)論

由于使用帶SPI功能的器件采用3或4根信號(hào)線進(jìn)行串入并出數(shù)據(jù)傳輸,使程序控制變得更為簡(jiǎn)潔高效,而且增強(qiáng)控制系統(tǒng)的移植性,大幅簡(jiǎn)化電路的繁雜布線,提高整體系統(tǒng)的穩(wěn)定性.另外AVR單片機(jī)把SPI總線接作為其技術(shù)特性固化在系列芯片中,所以更加方便對(duì)具有SPI接口的芯片進(jìn)行連接和控制.

[1]王志,王文廉,張志杰.SPI及USB雙通信接口的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化儀表,2010,31(1):72-75.

[2]王耿,王金明.SPI接口控制器設(shè)計(jì)與實(shí)現(xiàn)[J].電子質(zhì)量,2010(1):4-5.

[3]孫曉曄.PIC單片機(jī)與串行閃存的SPI接口設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2010(4):46-48.

[4]陳志彬,王仲初,崔文華.SPI接口芯片在單片機(jī)小系統(tǒng)中的應(yīng)用[J].自動(dòng)化與儀表,2001(1):63-65.

[5]耿德根,宋建國(guó).AVR高速嵌入式單片機(jī)原理與應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2001.

[6]彭希南.基于SPI接口的ISD4104系列語(yǔ)音錄放芯片及其應(yīng)用[J].微型機(jī)與應(yīng)用,2000(9):24-26.

猜你喜歡
低電平寄存器總線
數(shù)字電路中“邏輯非”的用法辨析
鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
Lite寄存器模型的設(shè)計(jì)與實(shí)現(xiàn)
2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
基于PCI Express總線的xHC與FPGA的直接通信
機(jī)載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計(jì)
分簇結(jié)構(gòu)向量寄存器分配策略研究*
多通道ARINC429總線檢查儀
基于EtherCAT總線的ROV控制系統(tǒng)設(shè)計(jì)
河南科技(2014年16期)2014-02-27 14:13:22
集成電路靜態(tài)參數(shù)測(cè)試
南宫市| 东源县| 凤冈县| 琼海市| 长春市| 德令哈市| 盐池县| 石台县| 宣武区| 临邑县| 福泉市| 威宁| 新民市| 黄冈市| 托里县| 惠水县| 扶风县| 东乡族自治县| 蛟河市| 满城县| 禄劝| 德阳市| 信宜市| 浮梁县| 青田县| 鲜城| 紫金县| 天台县| 托克逊县| 全州县| 龙江县| 同心县| 绥芬河市| 伊宁市| 翼城县| 大丰市| 光山县| 班戈县| 织金县| 河池市| 偃师市|