admin 管理员组

文章数量: 887021


2024年1月24日发(作者:java集合set)

第l8卷V01.18 第1期 No.1 电子设计工程 Electronic Design Engineering 2010年1月 Jan.2010 A/D转换器CS5550与单片机的接口程序设计 辛晓宁.吴子旭 (沈阳工业大学信息科学与工程学院,辽宁沈阳110178) 摘要:分析双通道低成本A,D转换器CS5550的接口特点.以ATmega16单片机为例设计CS5550与单片机的接口电 路。经过对ATmegal6单片机SPI口的分析,详细讨论使用硬件SPI接口和软件模拟SPI两种方式的程序设计,并给 出相应的软件流程图. 最后对CS5550的两种接口方式进行比较。 关键词:模数转换器;CS5550;单片机;接口程序 中图分类号:TP312 文献标识码:A 文章编号:1674—6236(2010)0l一0049—03 Interface program design of A/D converter CS5550 and microcontroller XIN Xiao—ning.WU Zi—xu (School oflnJbrmation Sienee and Engineering,Shenyang University f oTechnology,Shenyang 1 10178,China) Abstract:The interface features of two—channels,two—cost A/D conve ̄er CS5550 are analyzed.Using ATmegal6 microcon— troller as an example,the interface circuit of CS5550 and microcontroller is designed.After analyzing the SPI interface of ATmega16,hardware SPI interface and software—emulated SPI are fully discussed as two methods of interface program de— sign.The corresponding software flowcha ̄s are given.Finally,the two interface modes of CS5550 are compared. Key words:A/D conveaer;CS5550;microcontroller;interface program 现代智能化仪器仪表中A/D转换器和单片机是重要组成 部分。串行A/D转换器的串口信号线数目较少,存数据采样速 率较低的系统中有利于降低硬件问连线的复杂度.节省单片 户可使用单片机所提供的SPI接口与CS5550直接连接。这里 以ATmega16单片机为例讨论使用单片机的SPI接口实现读 写CS5550的操作 2.1 ATmegal6的SPI接口及其与C¥5550的连接 ATmegal6单片机内部的SPI接口可完成全双工、3线同 机的接口资源。在CS5550的性能特点及其片上串行接口的 基础上,给出CS5550与单片机的接口程序设计方案。 1 CS5550的主要性能及接口特点f1】 CS5550是Cirrus Logic公司推m的一款双通道低成本 步数据传输。它支持主/从机操作模式,作为主机时具有倍速 模式(C 2);具有写碰撞标志检测、传输结束中断标志、7种 可编程的比特率,并可设置LSB或MSB首先发送161。在实际 △一∑型A/D转换器,内部集成有2个△一 A/D转换器、2个 放大器、1个串行接口以及1个温漂为25 ppm/ ̄C的2.5 V参 考电压源。CS5550在两个通道上都具有24位寄存器,其中 使用该SPI接口时,需要将MOSI(主机输出从机输入)、MISO (主机输入从机输 )、SCK(串行时钟)、丽(从机选择)引脚依 次与CS5550的SDI、SDO、SCLK、 引脚相连,如图1所示。 通道1具有l3位有效位.通道2具有1O位有效位 。 CS5550片上集成有1个双向数字串行接口.包括 (片 选信号)、SDI(数据输入)、SDO(数据输 )和SCLK(串行时 钟)4条控制线。该串口与标准SPI接口协议兼容,可与带有 SPI接口的单片机传输数据。另外,CS5550还有一个中断输 出引脚丽.可通过配嚣其屏蔽寄存器(Mask Register)来设 输 入 信 了 定中断,并可通过软件修改配置寄存器中的“IMODE IINV”位 来决定中断的产生方式(高/低电平或上升,下降沿有效)。 2单片机的SPI接口与CS5550连接 SPI接口是由Motorola公司最先推出的,目前很多型号的 单片机都集成有SPI接口,如ATMEL公司的ATmega81 1、PIC 公司的PICI6F877sf、Analog Devices公司的ADuC8l2l 5l等。用 收稿日期:2009—0l一04 稿件编号:200901007 49- 图1 ATmegal6的SPI接13与CS5550连接电路 作者简介:辛晓宁(1965一),男,辽宁沈阳人,博士,教授。研究方向:片上系统及嵌入式软硬件设计。 -

《电子设计工程)2010年第1期 ATmegal6单片机r}1与SPI接口相关的寄存器有3个: SPCR(SPI控制寄存器)、SPSR(SPI状态寄存器)、SPDR(SPI 3使用软件模拟SPI接口 在实际应用中,可能会出现所选用的单片机没有集成 SPI接口或是SPI接口被其他功能所占用而又仍然需要使用 SPI协议与外围器件通信的情况,这时就必须采用软件模拟 的方式来实现SPI通信。一般来说,可以使用单片机的任何4 个I/O接口与CS5550连接。但为便于与前一种方法(使用硬 数据寄存器)。其l11,SPCR奇存器设覆SPI接口的lf1断、数据 m贝宁、主/从模式及串行时钟的榭荚特性;而SPSR奇存器中包 括有SPI中断标志位(SPIF)、巧碰撞标志位和倍速模式选择 位.SPsR f1的SPIF似将在SPI接El串行数据发送完成时置 “l”,抒此时刚户已他能SPI接口巾断且全局中断被打开,则 会产生SPI接口中断..应该指}f』的足.在SPI接口数据接收完 成时该SPIF位不会被置“1”,即没有接收结束标志位 串行 件SPI接口)进行比较,这罩仍采用图l所示的电路连接方 式..在编写SPI接口程序前,要对使用到的I/O端口进行配置: PB5为输出(MOSI),PB6为输入(MISO),PB7为输出(SCK), 时钟的产生m硬件『1动完成:每、』,有新数据写入SPDR寄存 器中,SPI接【lI会“动产生SCK信号将SPDR中的数据发送 去,同时将读取的数据存入SPDR的缓冲寄存器中。 2.2软件设计 PB4为输出( )。其中PB7端口初值为…0’,PB4端口初值为 “ 。为了模拟SPI数据寄存器,这里定义3个unsigned char SPI transmit_buffer、SPI—receive—buffer和trans- 型变量对CS5550的所有操作都是通过读写ATmega16单片机 的内部奇存器米完成的 往使川单片机的SPI接口之前,要 对其进行初始化 这咀采川套询方式来发送数据,故将SPCR mit counter分别用来存放需要发送的数据、接收到的数据和 已发送数据的位数。每一位数据的发送接收必须严格按照 CS5550数据手册上的时序要求来编写,否则会造成数据传输 错误。CS5550的读写时序如同3所示。 中的最高位SPIE置“0”,禁止rfI断 、使能SPI接El(SPE=I)。 I?==l CS5550的数掂传输为MSB片;I己发送,放使DORD=0。将 A Fmegal6选择为主机模式(MSTR=1)。选择SP1_I二作模式0 (CPOI 0,CPHA=0) 配 串行时钟设置为单片机品振频率 的1/16(SPRI:0,SPR0=1) 、综合以上对SPCR各位的分析,应 配置SPCR=0x5l。另外还要对SPI接口相应的引脚方向进行 配置:定义MOSI为输出、MISO为输入(SPI主机模式下由硬 sD 蚍K c0 —————— ==[][][工疆 件 动配置为输入),SCLK为输m、荫为输m SPI接El初始 化后就可以与CS5550通信。 l几厂-、,_、厂_\ ,_\厂、 ,-、厂、n S;'NC0 厂、n s。I }}1于直接采用单片机的SPI接口渎写CS5550,字节巾每 一(2)读SDO时序 位的发送,接收均【}1钡件完成,这样呵简化控制和数据采集 3 CS5550的基本读写时序 程序:向CS5550发送命令字节时只需将其 接写入SPDR 从 3及其数据手册巾的相关说明可知.CS5550读取 寄存器即可:iflT读取返回数据时只需渎取SPDR寄存器即 可。为使SPI通信能够可 、稳定地运行,这里有两个问题需 要注意:一个问题是彳F向SPDR寄存器写数据之前,应首先 询SPSR寄存器中的SPIF位,以确保发送【l1的数据不会被 新写入的数据所破坏 jH C讲青编写程序时可以使用类似的 “SDI线上的命令发生在SCK的上升沿,而其会在SCK下降沿 发生后20 ns(典型值)之内将下一位数据发送到SDO线上。根 据以上分析.可以得到图4所示的SPI接口函数编写流程。 while(!SPSR_ SPIF);”的形式等 待数据发送结束: 另一个问题是. 由于ATmega16 单片机的SPI接 口无接收结束标 志位,存读取 SPDR奇存器之 应插入延时程 序以确保读回数 据的完整性和准 确性 。该程序流 程如罔2所示 . -图2使用ATmega16硬件SPI接L=I程序流程 图4软件模拟SPI的函数编写流程 50—— 

辛晓宁,等 A/D转换器CS5550与单片机的接口程序设计 若仍以实现CS5550单次转换、单片机读取其数据寄存 参考文献: 器为例,则CS5550的采集函数编写流程图与第3部分中的 【1]Cirrus Logic,Inc.CS5550 Datasheet【EB/OLI.2008.http:// 图2相同,只需要利用这个软件模拟的SPI接口函数替换前 www.cirrus.com/en/pubs/proDatasheet/CS555o_FI.pdf. 面流程中对SPDR寄存器的读写即可。 f2】于焱.△一∑型A/D转换芯片CS5550在称重系统中的应 4硬件设计与软件模拟SPI接口的比较 用【J】.计测技术,2008(3):57—59. 【3】Atmel Corporation.Atmega8(L)datasheet【EB/OL】.2008.http: 从上述讨论看m,硬件SPI接口的丁作独立于CPU内 //www.atme1.com/dyn/resources/prod_documents/doc2486.pd£ 核,这使得SPI数据的收发与CPU内核运算并行执行。提高 【4】Microchip Corporation.PIC 1 6F877 datasheet【EB/OE1.2008. 单片机的T作效率。由于数据的收发完全由硬件完成.软件 http://ww1.microchip.com/downloads/en/DeviceDoc/30292c. 的编写不涉及具体收发细节,程序简单、速度快。而采用软件 pdf. 模拟实现SPI接口的方法则具有端口定义灵活、使用方便的 【5】Analog Devices,Inc.ADuC8 1 2 datasheet【EB/OE1.2008.http:// 特点。可以在不增加硬件成本的情况下,给不含SPI接口的 WWW.analog.corn/static/imported-files/data_sheets/ADUC812. 单片机增加SPI通信功能。但软件模拟SPI需要占用CPU处 pdf. 理时间,故一般只在通信数据量不太大的情况下使用。 【6】Atmel Corporation.Atmega1 6 Datasheet【EB/OL】.2008.http: 5结束语 //www.atme1.eom/dyn/resources/prod documents/doe8154.pdf. 【7】杨俊春,孙坤,赵国良.AVR单片机中的SPI接口[J].应 模数转换器和单片机在智能化仪表的应用广泛.本文讨 用科技,2005,32(2),43-46. 论的CS5550与单片机的两种接口方式具有普遍意义.对其 [8】王红亮,杨晓.AVR单片机与串行MD的SPI接口设计 他类似的设计提供参考。目前,以上两种方法均已被应用到 [J].电测与仪表,2008,45(9):45-48. 某基于CS5550的丁业测温仪表中,取得较好效果。 夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・<:>・夺・夺・夺・夺・夺・夺・夺・夺・夺・夺・专・夺・夺・专・ ・夺・夺・寺・ 低成本半瓦LED驱动器系列 英飞凌科技股份公司推出新的低成本线性LED驱动器系列.进一步壮大其高能效照明IC产品的阵容。推出的BCR320和 BCR420产品系列满足市场对节能环保发光二极管(LED)照明解决方案的急剧增长的需求。额定电流为150~200 mA的LED 驱动器经过专门设计适用于驱动0.5 W LED,具备负温度系数,可延长LED的使用寿命.同时具备一个脉宽调制(PWM)信号的 数字接口,实现亮度调节。 不久前刚刚问世了能效更高的0.5W LED,英飞凌的0.5 W LED驱动有望得到更广泛的应用。然而,目前用于实现LED电 流偏置的电阻器解决方案有巨大的缺陷,例如不均匀的光输出,以及LED使用寿命缩短等。另外,开关模式驱动器无法满足半 瓦LED产品的价位要求,并且增加了组件数量和提高了驱动电路的复杂性。 全新推出的BCR320和BCR420 LED驱动器经过专门设计克服了所有这些不足.为半瓦LED产品提供了一个成本极低、 外形小巧和简单易用的解决方案。 采用这两种器件进行产品设计,可避免使用电感器、电容器和续流二极管,因而可降低成本,大幅缩小占板空间。无需使用 电解电容器还可延长LED产品的使用寿命 BCR320产品经过专门设计,峰值输出电流高达300 mA。为实现连续运行,建议最大标称电流为250 mA。尽管这种器件的 内部击穿电压的典型值为20 V,但它的工作电压可达24 V或者更高,因为它是与LED串联的。 BCR420系列具备更高的内部击穿电压和较低的输出电流 其内部击穿电压的典型值为5O V,标准输出电流为150 mA。 该系列LED驱动器适用的应用与BCR320类似,最大驱动电流为150 mA。此外,该系列器件目前正在申请AECQ 101认证,旨 在获得应用于汽车产品的资格。BCR420和BCR421都采用SC一74封装。BCR421型号配备一个微控制器接口,用于亮度调节。 咨询编号:201001 105 恩智浦宣布支持21:9影院级显示屏 恩智浦半导体宣布,其TV550平台现在可以直接支持刷新率为60 Hz的21:9显示面板。恩智浦TV550是一种全球性数字 电视平台,在单一芯片上搭栽了恩智浦独有的运动精确图像处理(MAPP2)技术。TV550可为中档电视机带来画质卓越的高清 电视及互联网内容。恩智浦TV550利用功效卓越的45纳米片上系统。可支持在电视上运行DVB.T、MPE .264解码、HDMI 接收、数字标清和高清内容解码、CI+安全认证以及互联网连接等重要功能。恩智浦已经推出TV550参考设计,这有助于制造 商加快开发速度,并显著降低宽屏电视的材料成本。 咨询编号:201001106 -51—. 


本文标签: 接口 数据 单片机 使用