毕业设计(论文)-无线数字音频传输系统的软件设计.doc

上传人:西安人 文档编号:3949651 上传时间:2019-10-11 格式:DOC 页数:73 大小:5.91MB
返回 下载 相关 举报
毕业设计(论文)-无线数字音频传输系统的软件设计.doc_第1页
第1页 / 共73页
毕业设计(论文)-无线数字音频传输系统的软件设计.doc_第2页
第2页 / 共73页
毕业设计(论文)-无线数字音频传输系统的软件设计.doc_第3页
第3页 / 共73页
毕业设计(论文)-无线数字音频传输系统的软件设计.doc_第4页
第4页 / 共73页
毕业设计(论文)-无线数字音频传输系统的软件设计.doc_第5页
第5页 / 共73页
点击查看更多>>
资源描述

《毕业设计(论文)-无线数字音频传输系统的软件设计.doc》由会员分享,可在线阅读,更多相关《毕业设计(论文)-无线数字音频传输系统的软件设计.doc(73页珍藏版)》请在三一文库上搜索。

1、无线数字音频传输系统的软件设计摘要本文主要实现了一个无线数字音频传输系统的软件过程。提到无线便是对传输所占用的频带提出要求,在设计中选用的是在2.4GHZ频率范围的无线收发芯片MC13191,该芯片运用了Zigbee技术, Freescale的简单媒体接入控制软件可以支持它完成无线收发过程。进行数字传输,则要求系统中必须有AD转换器和DA转换器,本设计中选用的是DA8531和TCL4541,其中DAC8531是16位DA转换器,而TLC4541用于AD转换,同样也是16位的,其采样率可以高达200KSPS ,由于系统是用于音频传输,据耐奎斯特采样定理,选择采样率为44.1KHZ。要想所选择的无

2、线收发芯片和DA、AD转换器正常运作,必须要有一个微处理器来控制,设计中选择的是ATMEL公司的8位高速单片机AT89C5/RC2,拥有32K字节的FLASH可选择容量的扩展RAM,4个8位I/O口,3个定时/计数器。由于所选择的四个芯片都支持SPI,本论文主要完成的是有AT89C5/RC2控制三个芯片通过SPI进行数据传输过程。 关键字:微处理器 无线传输 音频 串行可编程接口Wireless digital audio transmission system software designabstractThis article has mainly implemented a wirel

3、ess digital transmission system software part. Mentioned wireless transmission, It sets the requirement to the frequency band which transmits takes. in the design I select wireless receiving and transmitting chip MC13191 which can be used in a widerange of 2.4GHZ .this chip utilized the Zigbee techn

4、ology, Freescales example Simple Media Access Controller software supports it, so it can easily complete the wireless transeivers. Because of the digital transmission, then system in the requirement must have the AD and the DA , in this design I select DA8531 and TLC4541, DAC8531 is 16 bit of DAC, b

5、ut TLC4541 is used for AD converting, similarly also is 16 bits, its sampling rate may reach as high as 200KSPS, because the system is usesd in the audio frequency transmission, according to Naquist sampling theorem, the selection sampling rate is 44.1KHZ. To make the selected MC13191and DA, the AD

6、operate normally, must have to have a MCU to control, in the design I selects ATMEL Corporations 8 bit of high speed MCU AT89C5/RC2, has 32K byte FLASH, expand RAM, 4 8-bit of I/O, 3 Timer/Counter. Because the selected four chips all support SPI, the present paper mainly complete have AT89C5/RC2 che

7、cks three chips to execute the data transmission through SPI.。Key words: Microprocessor wireless transmission audio Serial Programmable Interface(SPI)摘要IabstractII绪论7第一章总体介绍9第一节 设计任务9第二节设计所用主要芯片9第三节 设计思想9第四节 系统总体框架10第二章MC13191介绍11第一节概述11第二节 工作模式14一 人工接收模式14二 频率设定14三 接收包与MCU之间的数据传输15四 人工发射模式15五 接收包与M

8、CU之间的数据传输15第三节 SPI15一 SPI介绍15二 SPI编程协议16第四节 RAM22第五节时钟23第六节 引脚图.24第三章DAC8531介绍25第一节 概述25第二节 串行写操作26第三节 串行接口27第四章TLC4541介绍29第一节 概述29第二节软件复位31第三节 SPI32第五章AT89C51R C233第一节概述33第二节时钟问题34第三节RAM36第四节定时器038第五节 SPI39一 特征39二 信号描述39三 波特率四功能描述41四 功能描述41结束语53参考文献55附录56英文56英文翻译63程序6973绪论80年代初,由于外语教学上的迫切需要,我国高校电教界

9、开始了这方面的探索选定了这个比甚低频还要向低端延伸的整个音频频段的无线传输。他们以如何简易地实现近距离的电磁波有效传播作为突破口。获得了一些共识 并及时地作了小范围的试用与学术交流 继而在边试用、边改进中逐步在部分高校推广。取得了比较理想的效果。几年来的实践证明,音频无线传输系统的运用,对高校外语教学又增添了一个有力的电教手段,在巩固外语教学效果,提高外语水平。确保国家级CET四级和六级外语水平考试的顺利进行和普遍取得较好的成绩。作出了一定贡献。音频无线传输系统在运用上确实具有多快好省的特色 对促进普及具有极大的优势。它可以由高校一直普及到各级各类学校的外语教学与考试,甚至可以延伸到小学汉语拼

10、音的听写教学与考试中去。音频无线传输系统与其它电教手段一祥。也不仅仅局限于教学上使用 通常它还可在如下一些场合使用。(1)在强噪音的环境里(如金工车阃)为了满足某种需要, 可进行音频无线传输的放音(扩音)。(2)在肃静条件下(如超净车间, 特殊展室等), 为了解说和介绍的需要,可进行音频无线传输的放音(扩音)。(3)在影剧院放映与演出外文电影, 戏剧时。可作同步意译解说的音频无线传输放音。(4)家庭中使用音像设备时,为避免相互干扰,可使用音频无线传输系统作移动式的收听。综上所述, 这种崭新的音频信息传输方式的充分开发与利用 必将发挥出更大的社会效益。然而低功耗、微型化是当前无线通信产品尤其是便

11、携产品的迫切要求。本文提出了一种工作在24GHz ISM频段的无线传输系统的设计方案。该设计用MC13191实现了一种近距离、低功耗的无线通信收,发系统。近距离无线通信正逐渐引起越来越广泛的注意。飞利浦公司最近联合诺基亚和索尼成立了近距离无线通信论坛, 以实现各种移动设备、消费电子、智能检测等设备的交互式通信。低功耗、微型化是当前无线通信产品尤其是便携产品的迫切要求和关键问题。无线通信的另一个关键问题是数据传输的可靠性,这取决于诸多因素,如频率选择、同频干扰、传输距离、天线选择等,这些在设计无线通信系统时都要认真考虑和比较。本文描述了一种基于MC13191收发芯片的24GHz无线收发系统,输出

12、功率为lmW且带外辐射较小,无需申请频率许可证。此外,选择24GHz频段的另外一个优点是波长较短,天线的尺寸较小,可以缩小系统的体积, 甚至可以将天线设计在PCB板上实现天线内置,这样可以同时降低系统的成本。下面对MC1319X系列做出介绍。MC1319x系列电路是一个短距离,低功耗,2.4Ghz带宽的收发器,它遵循802.15.4标准,发射信号的频率在2.4GHz的频带上,传输范围在10-30米之间,支持简单的点对点和星型网络应用。它提供一个特性设置,让它应用于无线传输,让它应用更多的领域,比如:无线安全系统,医疗/个人健康护理,病人监控,个人计算机外围电路,面向人的接口设备比如一个鼠标,键

13、盘,游戏杆等等。它很容易连接主机,因为它有可编程串行数据接口(SPI),这个也满足我们的要求,它能提供主机时钟,降低整个系统花费,3个低功耗模式和一个可编程输出功率设置能增长电池的寿命。不仅如此,它还应用了Zigbee技术,这个技术实现了软件短距离通信,它能使得降低网络结构复杂,提高性能,降低功耗。排除了要求提高性能时,需要修改硬件系统。主要的特性是:1.成本划算的互补型金属氧化半导体(互补型金属氧化半导体)设计。低的外部成份,包括在芯片上的低噪音放大器, 1.0mW电源放大器,压控振荡器,遵循 IEEE802.15.4 标准的全波光谱编码解码等等2.数据包数据输出采用可编程的收发数据模式3.

14、数据包和数据流的数据处理形式4.支持 250kbpsO-QPSK数据在 2Mhz宽信道传输5.多样的掉电模式能让标准碱性电池寿命变长6.标准的4线SPI数据控制接口7.有柔性的发展环境使用 Metrowerks 得奖的 CodeWarrior 发展工作场所 第一章 总体介绍第一节 设计任务实现一个无线数字音频传输系统的软件部分。第二节 设计所用主要芯片MC13191, AT89C51RC2,DAC8531,TLC4541第三节 设计思想 运用摩托罗拉公司的无线收发芯片MC13191,Atmel公司的微处理器AT89C51RC2,DAC8531,TLC4541这四个主要芯片来实现整个无线收发系统

15、。本系统用微处理器AT89C51RC2来控制其他三个主要芯片,实现数字音频信号的接收过程和发射过程,其中接收过程主要包括微处理器AT89C51RC2控制无线收发芯片MC13191接收经过调制的音频信号,在MC13191内部经过解调处理,然后将处理完毕的信号读回微处理器,最后微处理器将这部分信号送到DAC8531转换为模拟信号输出;而发射过程主要是微处理器控制TLC4541将模拟音频信号转换为数字音频信号采集回微处理器,接着微处理器将采集回的这部分数据写到无线收发芯片MC13191的发射包,在MC13191内部经过调制过程,最后由微处理器控制MC13191将经过调制以后的数据发射出去。设计出的系

16、统是可以仅实现接收部分,也可以仅实现发射部分,最大的优点是还可以收发同时进行,实现对总线的充分利用。需要说明的是数据的传输是以包为单位的,也就是我们通常所说的一帧数据,具体的帧格式将在论文内部介绍,在此不做赘述,另外考虑到数据传输的方便与准确,在 MC13191的数据传输接口是SPI口(Serial Programming Interface)的情况下,选用芯片时所选的其它三个都是带有SPI口,在本设计中数据传输都是通过对SPI口的启用来实现的。在本篇论文中主要阐述此系统设计的软件部分(用C语言实现)。第四节 系统总体框架注意上图中的CS全部应为。 从图中可以看出音频数据的接收与发送都是通过S

17、PI接口实现的。由于在SPI传输数据过程中,一次只能连接一个从器件,所以对从器件的选通是通过对各个从器件的端的控制实现的。在这三个从器件中都有自己的片选端,微处理器可以通过对三个通用的输入输出口对这三个片选端进行控制,从而完成数据的发送和接收。第二章 MC13191介绍第一节 概述MC13191接口电路是一个短距离,低功耗,2.4Ghz带宽的收发器,这种设计为了低消费简单点对点和星型网络拓扑的应用。MC13191 包括一个完整的包调制解调器,它能格式化数据成 125 字节装载量的数据包,应用 O- QPSK 调制和直接学历扩展幅度编码能传送数据率为 250kbps的数据。如果连接一个适当的微处

18、理器著作为一个基带处理器,那么在点对点和简单星型拓扑应用中, MC13191 提一个完整和有效无线节点。MC13191 和微处理器的接口是通过一个 4 线串行外围接口完成。这个串行外围接口能连接不同的处理器。l 可接受的电源范围是: 2.0V-3.0V。l 16信道。l 0dBm ,输出电源最大达到 3.6dBm。l 为了简单和低消耗微处理机,采用缓冲的发射和接受数据包。l 在 2.0Mhz信道和全部扩延- 光谱译码中支持 250kbps O-QPSK数据l 连接质量,而且能源发现功能l 为保护电源,有三种掉电模式 掉电状态电流为1uA 典型的睡眠状态电路电流为3.0uA典型的打盹状态电流为4

19、0uA l 在1.0%数据包误码率的情况下,RX典型的灵敏度为-91dBml 两个内部时钟比较器可以MCU资源要求l 时钟输出可以被MCU利用l 有7个通用 输入输出端口可以利用l 可操作的温度范围:-40到85l 小的形式因素QFN-32包装3MSL260最高回流温度尖端自由要求 表1 表2 表3帧结构上图给出了MC13191的帧结构。125比特的数据量是可以支持的,MC13191加了一个四位的前同步信号,一个一位的帧定义开始符号,和一个一位的帧长指示器。一个帧校验序列是预估计并添加到数据的末端。 接收路径的描述 在接收信号路径中,通过两个低转换阶段,设频输入被转换成低中频IQ信号,数字的折

20、回末端直接序列扩展光谱补偿O-QPSK信号,决定了符号和数据包,并发现数据。前同步信号、真定义开始信号和真长度被分析和利用。一个两位的真检验系列被预估计,并且与加在发射数据的真检验序列值比较,生成一个冗长较验循环码,数据包前端储存在ROM里面后,周期达到46us,MC13191以一个完整的数据包处理进来的数据,通过一个中断通知MCU,接受一个完整的数据包。发射路径的描述发射路径功能性和接受路径正好相反,储存在RAM里面的数据被恢复,形成一个数据包,然后转换成发射序列。数据以数据包的格式传输,并且载入TX缓冲器,信道可能与能量检波途径相符,这个检波途径下载一个值进入SPI,MCU要求MC1319

21、1发射数据,通过一个中断通知MCU数据包已经成功地被发射。第二节 工作模式一 人工接收模式在接收模式中,如果通过CRC校验确定一个包是有效的,那么寄存器24中比特位0,crc_valid,将会被置一。如果通过CRC校验确定一个包是无效的,那么寄存器24中比特位0,crc_valid,将会保持它的默认值零。在这两种情况下,一旦接收循环结束,rx_rcvd_irq位都会置一,并且会产生一个中断。二 频率设定谈到无线接收,难免会想到工作频率的问题。MC13191是被设计工作在2.4GHz的频带上,可在16 个频道内进行切换,每一个频道占用5MHz的空间。MC13191运用两个本地晶振(LO)。第一个

22、晶振综合器是主晶振,为接收和发射部分的正常进行提供了可能。这个模块主要包括一个N分频的锁相环频率综合器。必须通过软件编程设计,让分频器工作在一个合适的频率,从而使得它能够在特殊的工作频道上正常地执行一个数据收发操作。如下图所示,这些工作频道都是可以通过对寄存器的写入数据操作实现。如寄存器0F中的比特位70,(lo1_idiv_7:0)和寄存器10中的分频设置位(lo1_num15:0)。 表4三 接收包与MCU之间的数据传输下面是一个典型序列的接收操作:1如果频率还没有设定,对寄存器0F中的比特位70,(lo1_idiv_7:0)和寄存器10中的分频设置位(lo1_num15:0)编程来设定工

23、作频率。2将寄存器6中的比特位写入16进制数01,使得 MC13191工作在接收状态。3如果RXTXEN处在高状态,接收序列操作开始进行。否则,直到RXTXEN被置一,接收序列操作才开始进行。4当MC13191成功地接收到一个包时,下面的事件就会随之发生:a 一个中断被触发。b 微处理器读寄存器24中比特位7,rx_rcvd_irq,从而确定是否接收到了一个包。 c 读寄存器24中比特位0,crc_valid,确定是否通过CRC 校验。d 如果crc_valid=1,微处理器读寄存器25中的比特位6-0,确定接收包的长度。e 微处理器从接收包RAM中读回数据。f 如果接收包中断被寄存器6中的比

24、特位8屏蔽,那么MCU必须查询寄存器24中的比特位7来确定是否接收到一个包。四 人工发射模式 一个正常的对发射器的警告之后,一个包的数据就发射完毕,这时会产生一个中断并且寄存器24中的比特位6,tx_sent_irq被置一。五 接收包与MCU之间的数据传输下面是一个典型序列的发射操作:1 如果频率还没有设定,对寄存器0F中的比特位70,(lo1_idiv_7:0)和寄存器10中的分频设置位(lo1_num15:0)编程来设定工作频率。与接收操作相同。2 将要发射的数据写入发射包RAM,通过寄存器2的比特位150写入。3 将寄存器6中的比特位写入16进制数02,使得 MC13191工作在发射状态

25、。4 如果RXTXEN处在高状态,发射序列操作开始进行。否则,直到RXTXEN被置一,发射序列操作才开始进行。5 当数据发射完毕,MC13191将产生一个中断,并且MCU通过读取寄存器24中的比特位6来确定此发射过程是否为有效的发射。第三节 SPI一 SPI介绍MC13191控制和数据转移由一个4线串行编程接口,这节详细讲述SPI串行可编程接口是MC13191和主机处理器之间的端口,主机允许内部寄存器编程和串行数据包转换,SPI由64字节地址寄存器配置成一个16位的,不是所有的都进行配置,SPPI包含只读和读/写寄存器,SPPPI支持循环中断,和单一的读和写操作,循环模式是主要参加MC1319

26、1的包RAM过程和快速配置,部分的字处理不支持,SPI寄存器除了SPICLK时钟外没有额外的时钟,尽管数据包RAM处理要求一个循环时钟输入到时钟RAM仲裁,MC13191中的SPI有下列的特性:1. 4线接口专门用于输入和输出数据线2. 16位字结构3. 读写寄存器是58个字4. ROM是13字5. 单一字和循环中断读写容量6. RAM以数据包处理7. 编程复位8 . 8位地址头 MC13191的SPI采用专门的4线串行总线接口,这个接口由一个低使能端()控制,时钟SPICLK、输入数据(MOSI)、输出数据(MISO)。这个格式适合连接到标准8位MCU串行端口,、SPICLK、和MOSI都是

27、输入引脚,他们都是由MCU驱动。: 低电平有效的使能信号端子,开始和结束SPI读写操作MOSI: 主输出,从输入SPI数据输入引脚MISO: 主输入,从输入SPI数据输出引脚SPICLK: 串行接口时钟输入引脚读写SPI寄存器SPI过程由使能信号触发,MOSI引脚控制写操作,MISO引脚控制读操作,那么下面我们来介绍SPI的写操作和读操作。二 SPI编程协议一个SPI接入是通过端动态置低触发的。定义一个单一SPI接入是24位SPI接入。如下图所示,数据15:0是在MOSI线上要从MCU写入MC13191的数据。或者是在MISO 线上MCU要从MC13191读入的数据,而头数据永远都是在MOSI

28、线上由MCU提供给MC13191。一个SPI接入序列分为头部分和载荷部分。其中头部分永远都是8位数据,而载荷数据的位数是16的整数倍。一个单一的SPI包含24位的数据信息。头部分包括一个读写位R/和一个6位的寄存器地址,如上图所示。读写位R/用来表示数据的传输是读过程还是写过程。读过程用R/=1来表示,写过程用R/=0来表示。头部分的低6位可以决定64个可能的SPI 地址中的哪一个被接入。从而实现一个读过程或者写过程。需要说明的是,并不是所有的可被接入的寄存器地址都可执行读写操作。寄存器地址经常为一个循环读或写操作提供一个起始地址,这一问题将在后续章节做详细介绍。在下面的时序图中我们可以看到,

29、无论是SPI数据的读过程还是SPI数据的写过程,也无论是单一的载荷,还是循环载荷数据,SPI数据的传输过程都是高有效位(MSB)在前,低有效位(LSB)在后 。每一次读写过程开始的第二位永远都是零。在每一个SPI时钟SPICLK的下降沿到来时,MISO线上的数据被MCU得到,并且在SPICLK的上升沿被MCU锁存。地址头和写载荷数据,也就是指MOSI上的数据,都是在SPICLK的上升沿被采样到,并且在与SPICLK上升沿期间,这些数据必须保持静止。在SPI读过程中,如果端无效,那么MISO线可能处于高阻态或低电平状态,所以,在端无效之前,MCU将读回来的数据LSB锁存是至关重要的。当无效时,M

30、ISO的默认值是高阻态,但是也可以通过将SPI比特位miso_hiz_en置低来改变它的默认值。SPI接口的时序关系如下图所示。表5其中: tPER : SPICLK 时钟频率。(最高可达8MHz) TCLKH : 脉冲宽度 ,SPICLK为高 TCLKL : 脉冲宽度 ,SPICLK为低 tcE_SU : 建立时间 ,从置低到SPICLK上升沿来临 tcE_H : 保持时间,SPICLK上升始到置高 tSU: 建立时间,MOSI等待时钟上升沿来临 tH : 保持时间,MOSI等待时钟下降沿来临 tP1 : 延时,MOSI等待时钟上升沿来临 tP2 : 延时, MOSI等待的上升沿需要说明的是

31、,在最大时钟频率8MHz的情况下,一个单一SPI接入的最小持续时间是3.0s。SPI写操作:下图是一个时序图,描述的是一个单一的或者说是非循环的SPI写过程。其中将CE动态置低触发SPI写过程。在置低和第一个SPICL上升沿或者MOSI线的一个改变之间是没有最大的时间限制的。在置低后的一段时间,地址大部分的第一位,也就是读写位R/,被微处理器送到MOSI管脚上。读写位R/的值应该为0,表示SPI执行写操作。另外,MOSI线的数据变化发生在SPICL的上升沿,并且为MCB191SPICLK上升沿来临时锁存数据提供一个最大的建立和保持时间。在端动态置低之后的SPICLK的第一个上升沿来临时,MC1

32、3191将读写位R/锁存。由MCU提供的它所想要访问的寄存器地址处在接下来的序列中。这个寄存器地址的传输顺序也是MSB在前,LSB在后,且地址必须在SPI提供的寄存器范围之内(64个以内)。寄存器地址Addr6必须一直置零,否则,写操作将变成无效操作。在节下来的16个SPICLK上升沿来临时,MOSI管脚上的16位写入数据必须有交久。在端动态置低后的第24个SPICLK上升沿来临时,MOSI线上的数据被移位到一个多位寄存器里。端的无效是结合着第25个时钟上升沿的发生来操作的,也就是指第24个SPI时钟上升沿的一个周期之后。如果一个SPI操作在端无效之前并未提供给MC13191至少24个时钟上升

33、沿,那么寄存器数据是不会改变的。 表6SPI读操作: 下面的时序图描述的是一个单一的或者说是非循环的SPI读过程。SPI读过程的接入触发方式和头地址部分的输入与在上一节描述的SPI写过程类似。紧接着头地址部分的第一个SPICLK下降沿,所选择的寄存器中的高有效位MSB将呈现在MISO管脚上。寄存器数据的移位发生在每个SPICLK的下降沿。寄存器数据的低有效位将在有效后的第24个时钟下降沿呈现在MISO线上。当端无效时,低有效数据可能处于动态也可能处于被清零,因此,微处理器必须确定在端置高以前将数据读回。 表7循环SPI接入: MC13191的SPI接口具有循环接入的能力。这种功能可允许很多个连

34、读的寄存器只有一个头地址接入。循环读写功能使得SPI的头地址部分数据量大大降低,并且带来一个很大的好处,那就是,到达提高了程序的运行速度。设计这种功能的初衷是为了在软件设计过程可以让其它器件可以快速地访问MC13191。当然,循环读写功能无疑在很大程度上方便可那些接入的超出16位的SPI寄存器的SPI的值。例如:写定时比较器的值(tmr_cmpl23:0和tmr_cmp423:0)和读定时标志(timestamp23:0)。最后,循环接入功能使得读写包RAM的内容非常方便。循环SPI读操作: 循环SPI读操作的触发方式与单一读操作的触发方式相同。但是,在第一组16位载荷数据发出之后,通过保持端

35、置低的时间长一些,我们可以在MISO管脚上得到下一个SPI寄存器的地址。一个内部的寄存器指针会自动将头地址部分的地址加1,从而指向下一个SPI寄存器地址。在第25个时钟下降沿,下一个SPI寄存器中的内容将会装载到SPI移位寄存器中,同时高有效位MSB立即呈现杂MISO管脚上。在接下来的时钟周期中,完成对这第二个载荷内容的读任务。 只要端保持低有效,这个序列将一直重复下去,允许MCU读回头地址开始的SPI寄存器的内容。只要循环读过程执行,SPI寄存器指针就不会不断增加。当地址指针增加63(十进制数)时,也就是最大的SPI可执行寄存器,地址指针将会返回地址3,并且开始新一轮的增加。循环包RAM读操

36、作: 循环读操作特别是对于MCU从包RAM中获取数据非常有用。当执行一个在包RAM SPI地址上的读操作,SPI寄存器地址指针是不增加的,作为替代,包RAM存储仲裁地址指针开始增加,这个指针指向的是包RAM地址。因此,通过运行一个循环读操作,多达64字(128字节)的数据可以通过SPI接入被MCU读回,但是仅仅只需要一个头地址就够了,这给SPI接口的头地址部分带来了33个百分点的降低。当然,这种通过SPI的存储器内容传输使我们不用在MC13191与MCU之间建立第二个数据传输接口了。循环SPI写操作:循环SPI写操作的触发方式与单一写操作的触发方式相同。但是,在第一组16位载荷数据发出之后,通

37、过保持端置低的时间长一些,我们可以在MOSI管脚上得到下一个SPI寄存器的地址。一个内部的寄存器指针会自动将头地址部分的地址加1,从而指向下一个SPI寄存器地址。在第25个时钟下降沿,下一个SPI寄存器中的内容将会装载到SPI移位寄存器中,同时高有效位MSB立即呈现在MOSI管脚上。在接下来的时钟周期中,完成对这第二个载荷内容的写任务。 只要端保持低有效,这个序列将一直重复下去,允许MCU在头地址开始的SPI寄存器中写入数据。只要循环写过程执行,SPI寄存器指针就不会不断增加。当地址指针增加63(十进制数)时,也就是最大的SPI可执行寄存器,地址指针将会返回地址3,并且开始新一轮的增加。循环包

38、RAM写操作:循环写操作特别是对于MCU从包RAM中获取数据非常有用。当执行一个在包RAM SPI地址上的写操作,SPI寄存器地址指针是不增加的,作为替代,包RAM存储仲裁地址指针开始增加,这个指针指向的是包RAM地址。因此,通过运行一个循环写操作,多达64字(128字节)的数据可以通过SPI送入到发射包中,但是仅仅只需要一个头地址就够了,这给SPI接口的头地址部分带来了33个百分点的降低。当然,这种通过SPI的存储器内容传输使我们不用在MC13191与MCU之间建立第二个数据传输接口了。第四节 RAM 这一节主要描述 MC13191的本地RAM。实际上,在MC13191中,并没有真正的随机存

39、储器,只是一些连续的可接入存储地址。这些RAM主要为数据发射或者是从其它器件接收数据服务。一概述 MC13191包括两个独立的128字节的RAM,每一个都划分成64个地址,而每一个地址包含2个字节。其中一个RAM是用来存放接收的数据的,而另一个是用来存放要发射的数据的。尽管RAM接入SPI的接口是被仲裁的,且时间是建立在时钟内核的基础上,但是每一个RAM都是完全静态的。因此,任何一个RAM的读写接入都需要器件处在激活状态下。当MC13191处在Hibemate或Doze模式之下时,RAM的读写操作是不能进行的。 接入RAM是由专门的SPI寄存器支持的。SPI寄存器1支持接收RAM SPI寄存器

40、2支持发射RAM。二发射RAM 在发射之前,想要发送的数据是装在发射RAM当中的。 Tx_PKt_length6:0指的是实际要发射的数据字节数因为MC13191会自动产生包中的侦校验序列FCS,所以FCS的值并不需要放到RAM中,尽管,Tx_PKt_length6:0应当体现FCS值(例如,发射包长度应当是实际发送数据的比特数加2)最大的数据发送量是125个字节,由接收包长度(Tx_Pkt_length6:0,Register 25)限制。将实际数据写入寄存器2中,Tx_Pkt_ram15:0,然后数据便被装载到发射RAM中。每两个字节数据写入SPI后,内部RAM地址计数器会自动加1,并且,

41、只要CE端保持在低状态,每个字都会被成功地送到发射RAM当中。当RAM中数据存放包满,CE端应置为无效。由于RAM是以字来划分的,如果一组奇数字节的数据要被发送,最后一个字节的数据也要写到SPI上,尽管这个字节的数据在传输过程中会被忽略。如果在数据写入RAM过程当中,内部地址计数器超出了RAM的最大值,寄存器24中的比特位14 ram_adder_err,将被置1。在ram_adder_err置1和寄存器5中的比特位12,ram_adder_mask也置1的情况下,一个外部中断会产生。也想清除ram_adder_err,读寄存器24。如果在数据写入RAM过程中,内部逻辑会试图接入RAM,寄存器

42、24的比特为13 arb_busy_err被置1。在一个动态的发射周期内,tx_PKt_length6:0决定了发射数据的长度。发射数据从RAM中的地址0开始。三 .接收RAM 接收RAM包括数据和FCS。因为在接收包中的帧长度部分可能在接收过程中得到破坏,所以在数据接收过程中很可能在接收包中接收到错误数据。当一个接收循环完成时,数据长度为可以通过读寄存器25中的rx_pkt_length6:0,与此同时,寄存器24中的位0表明接收包的帧校验位是否有效。如果这个包是有效的,我们就可以成功地从寄存器1中的rx_pkt_ram15:0读回接收包的数据。微处理器从接收包读来的第一个数据应当放弃。第五

43、节 时钟由于数据的发送和接收都要用到时钟,所以在此特留出一节来说明此问题。为了使发送和接收数据同步,整个系统只用一个时钟源,由MC13191提供。对MC13191中的寄存器09和寄存器0A中的相应的位写入合适的数据,便可产生我们想要的时钟频率。其中寄存器09中的位6为一时,表示MC13191可以为微处理器提供一个参考时钟信号,为零时表示MC13191不可以为微处理器提供一个参考时钟信号。而对寄存器0A的设置,可以决定到底为微处理器提提供多大的时钟频率。具体情况见下图。 表8第六节 引脚图 表9第三章 DAC8531介绍第一节 概述DAC8531是一个低功耗,单极性,16位缓冲电压输出的数模转换

44、器。在它内部的精确输出放大器允许轨对轨输出。DAC8531采用的是一个三线串行接口,这种接口可工作在频率高达30MHz的时钟下,并且与标准SPI,QSPI,Microwire,DSP接口兼容。DAC8531需要一个外部的参考电压来确定输出电压的范围,它运用了一个上电复位电路使得启动后输出电压为0V,如果没有有效的写操作执行到DAC8531,那么它的输出电压将一直维持在0V,直到有效的写操作执行到该器件上。DAC8531包括一种掉电模式,可以在5V电压的控制下将电流消耗降低至200nA。在正常工作下的低功耗使得它非常适合portable battery operated 器件。在5V电压的控制下

45、,它的功耗可以由2mW降低至掉电模式的1w。下面是DAC8531的内部工作框图,在同步信号SYNC和外部时钟SCLK的共同控制之下,信号由Din输入,经过移位寄存器后转为16位的并行信号进入数模转换寄存器,再在外部参考电压的控制下经过16位的数模转换,最后在外部提供的反馈电压控制下由内部运放将信号放大输出。芯片内部加入了掉电控制逻辑电路,从而可以控制芯片的工作模式,使得芯片具有低功耗的优点,同时在芯片内部还有一个电阻网来辅助掉电控制逻辑电路的工作。 表10下面是此芯片的封装图及引脚介绍: 表11DAC8531的引脚功能 :1VDD电源电压,2.7V5.5V2VREF参考电压输入3VFB输出端放大器的反馈连接4VOUT模拟输出电压,输出放大器可以轨对轨的操作5电平触发控制输入。这是输入数据的帧同步信号。当为低的时候,启动输入转换寄存器,当下一个下降沿

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1