




已阅读5页,还剩66页未读, 继续免费阅读
(通信与信息系统专业论文)ais海事电台测试平台的测试软件设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
摘要 a i s 系统( a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ) 即为船舶自动识别系统,由基站 设施和船站设备共同组成,是一种新型的集网络技术、现代通讯技术、计算机技 术、电子信息显示技术为一体的数字助航系统和设备。 本课题研究的是基于a i s 海事电台的测试平台,可以对a i s 海事电台进行 测试,完成对电台射频和基带部分的测试。同时,本测试系统还可以当作一个简 单的通用测试系统,可以进行信号的采样,对信号进行简单的分析;可以作为一 个低频信号发生器;外接不同的仪器,比如示波器、逻辑分析仪、频谱仪等,可 以进行功能的扩展。 测试平台硬件主要由a r m 和d s p 芯片及其它外围芯片和一些扩展的仪器组 成。其中上位机是a r m 芯片,实现测试平台的控制和结果的显示。下位机是 d s p 芯片,完成与上位机通信和具体模块功能的实现。 本论文主要内容是下位机软件设计和测试软件设计。作为一个对趾s 海事电 台的测试系统,本论文针对a i s 电台的基带硬件编写了测试程序,包括对电压及 晶振的测试、f p g a 和d s p 芯片的测试以及外围的l e d 、存储器、a i c 2 3 的测 试等,其中f p g a 通过e h p i 接口对d s p 进行启动是实现的关键。作为一个简单 的通用测试平台,实现了下位机通过m c b s p 接收上位机命令,并进行基带波形 发生和数据采集及波形失真度的计算,以及数据在上位机和下位机之间的传输 等,并实现将程序固化在f l a s h 中,实现上电或复位时从f l a s h 启动。 关键词:自动识别系统测试平台数字信号处理器多通道缓冲串口增强主机 接口波形失真度 a b s t r a c t 越ss y s t e m ( a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ) w h i c hc o m p r i s e sb a s ef a c i l i t i e s a n db o a te q u i p m e n t si sak i n do fn e w n a v i g a t i o ns y s t e ma n de q u i p m e n ti n t e g r a t e dw i t h n e t w o r kt e c h n o l o g y , m o d e mc o m m u n i c a t i o n st e c h n o l o g y , c o m p u t e rt e c h n o l o g y , e l e c t r o n i ci n f o r m a t i o nd i s p l a yt e c h n o l o g y t h er e s e a r c hi sb a s e do nt h et o p i co ft e s ts y s t e mb a s e do na i sm a r i n er a d i o i t c a nt e s tt h ea i ss y s t e m ,i n c l u d et h er a d i of r e q u e n c yp a r ta n db a s eb a n dp a r t a l s o ,t e s t s y s t e mc a nb et r e a t e da sas i m p l eu n i v e r s a lt e s ts y s t e mi n c l u d et h ew a v e f o r md a t a a c q u i s i t i o n , s i m p l ea n a l y s i so ft h es i g n a l ,al o wf r e q u e n c ys i g n a ls o u r c ea n ds oo i l 1 1 1 es y s t e mc a na d dn e wf e a t u r e sb ya d d i n gd i f f e r e n te x t e r n a le q u i p m e m s u c ha s o s c i l l o s c o p e s ,l o g i ca n a l y z e r , s p e c t r u ma n a l y z e re t c t e s ts y s t e mh a r d w a r ep l a t f o r mc o n t a i n sa r m ,d s p , p e r i p h e r a lc h i p sa n do t h e r i n s t r u m e n t s t h eu p p e rc o m p u t e ri sa r m w h i c hc o n t r o l st e s ts y s t e ma n ds h o w st h e r e s u l t s n el o w e rc o m p u t e ri sd s p , w h i c ha c h i e v e st h ec o m m u n i c a t i o nw i t ha r m a n dt h et e s tf u n c t i o n s i nt h ep a p e r , t h em a i np a r ti st h es o f t w a r ed e s i g no fl o w e rc o m p u t e ra n dt e s t s o f t w a r ed e s i g n a sat e s t s y s t e mb a s e do na i sm a r i n er a d i o ,t h et e s t s o f t w a r e i n c l u d e st h et e s t so fv o l t a g ea n dc r y s t a l ,t h et e s t so ff p g a , d s pa n dt h el e d , m e m o r y , a i c 2 3e t c n ek e yp a r ti st h er e a l i z a t i o no fd s pe h p ib o o tb yf p g a a sa s i m p l eu n i v e r s a lt e s ts y s t e m ,t h es o f t w a r ei n c l u d ec o m m u n i c a t i o nw i t ha r mu s i n g m c b s p , b a s eb a n dw a v e f o r mg e n e r a t e ,d a t aa c q u i s i t i o na n dt h ec a l c u l a t i o no f w a v e f o r md i s t o r t i o na n dt h ed a t at r a n s f o r mb e t w e e nu p p e rc o m p u t e ra n dl o w e r c o m p u t e r a n da c h i e v et h ec o d es t o r a g ei nf l a s ha n dt h eb o o tf r o me m i fw h e nr e s e t o r p o w e r o n k e yw o r d s :a i s ,t e s ts y s t e m , d s p , m c b s p , e h p i ,w a v e f o r md i s t o r t i o n 独创性声明 本人声明所呈交的学位论文是本人在导师指导下进行的研究工作和取得的 研究成果,除了文中特别加以标注和致谢之处外,论文中不包含其他人已经发表 或撰写过的研究成果,也不包含为获得鑫鲞盘鲎或其他教育机构的学位或证 书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中 作了明确的说明并表示了谢意。 学位论文作者签名:石葫 签字日期: ? 卅年7 月2 日 学位论文版权使用授权书 本学位论文作者完全了解盘盗盘堂有关保留、使用学位论文的规定。 特授权苤壅盘堂可以将学位论文的全部或部分内容编入有关数据库进行检 索,并采用影印、缩印或扫描等复制手段保存、汇编以供查阅和借阅。同意学校 向国家有关部门或机构送交论文的复印件和磁盘。 ( 保密的学位论文在解密后适用本授权说明) 学位论文作者签名:石磊 导师签名: 签字日期:加叼年乡月z 日 乃乏 签字日期:力,7 年月2 日 第一章绪论 1 1 课题的选题背景 第一章绪论 船舶自动识别系统( a u t o m a t i ci d e n t i f i c a t i o ns y s t e m ,简称趟s 1 是一种新型的 助航系统。典型的m s 系统由基站管理服务器、访问信息服务器、中心网络管 理服务器加监控软件构成。 ! m s 的正确使用有助于加强海上生命安全、提高航行的安全和效率,有利于 主管机关或港口对船舶的直接监控,有利于对海洋环境的保护。! m s 的主要功能 有:直接识别船只,协助追踪目标,简化信息交流,提供其他辅助信息以避免碰 撞发生。a i s 形成的电子监控数据,也可作为行政处罚和诉讼的法律依据【l 】。 船舶自动识别系统( 触s ) 由舰船飞机之敌我识别器发展而成,配合全球定 位系统( g p s ) 将船位、船速、改变航向率及航向等船舶动态结合船名、呼号、 吃水及危险货物等船舶静态资料由甚高频( 邛) 频道向附近水域船舶及岸台广 播,使邻近船舶及岸台能及时掌握附近海面所有船舶之动静态资讯,得以立刻互 相通话协调,采取必要避让行动,对船舶安全有很大帮助。 虚拟仪器技术就是利用高性能的模块化硬件,结合高效灵活的软件来完成各 种测试、测量和自动化的应用。灵活高效的软件能创建完全自定义的用户界面, 模块化的硬件能方便地提供全方位的系统集成,标准的软硬件平台能满足对同步 和定时应用的需求。 以工控计算机和p c 为平台的虚拟仪器系统长期以来充当着智能测试系统的 平台。随着后p c 时代的来临,业界对仪器的个性化和小型化要求越来越高。嵌 入式系统的发展和普及应用使得基于a r m 、d s p 等的嵌入式仪器成为构建虚拟 仪器系统的新思路。 1 2 发展状况及应用领域 8 0 年代末,海上航船的速度提高极快,港口和航道的交通管制显得十分重 要。尽管国际海事组织( i m o ) 和世界各国的政府主管部门采取了制定和实施避 碰规则、建立交管系统、建立进港船舶报告制度,以及强制配备各类助航设备等 第一章绪论 一系列措施,但船舶的碰撞事故还是时有发生。对航行交管部门来说,避免海上 事故发生的必要条件是实时动态地掌握其管辖水域内( 开阔水域和限制水域) 来 往船舶的航行状态、船舶类型和载货情况、船名和呼号等信息,以便采取必要的 措施来保证船舶的安全航行避碰【2 】。 针对上述情况,北美和欧洲的一些国家在9 0 年代前后开始着手研究一种能 够“自动获得船舶信息和航行状态”的技术。国际航标协会曾于9 0 年代初利用当 时已获批准并正在实施的全球海上遇险安全系统( g 加s s ) 提案,率先向i m o 提议将自动的接收发射器作为一个s o l a s 公约规定的配备要求,并且建议采 用海上v h f 7 0 频道上用数字选择呼叫( d s c ) 方式来实施自动询问和应答,从 而获取船舶信息。这种最早由英国和美国提出并实施的数选呼叫技术,是一种基 于v h f d s c 技术开发而成的技术,被称为自动应答系统。在d s c 转发器之后, i m o 收到来自南非和美国斯堪的那维亚管理当局的进一步建议,要求i m o 考虑 采取一种更先进的转发系统。i m o 在考虑了这项提议后,决定采纳以南非和斯 堪的纳维亚两家的建议为基础的通用系统,并将该系统命名为“通用自动识别系 统( 通用a i s ) ”。 我国作为一个航运大国和m o 的a 类理事国,为了适应我国改革开放和国 民经济发展的要求,必须顺应国际新技术发展潮流。 近年,在中国海事局的直接领导下已在上海海事局成立了海事系统的“a i s 研究小组”,开展了对& i s 有关政策、规范、技术标准、产品、应用环境等的资 料跟踪和技术研究工作。与此同时还加快了与灿s 建设密切相关的基础设施( 系 统) 的建设工作,为我国开展触s 的建设提供了良好的基础和技术环境【3 】【4 】。 n a t i o n a li n s m l m c n t s ( 美国国家仪器有限公司) 在业界率先提出“虚拟仪器” ( v m - u a li n s t m m a a t a t i o n ) 概念。之后,n i 逐步改变了全世界工程师和科学家们 对于测量和自动化的方法。 虚拟仪器系统的基本构架包括功能强大的软件、模块化的测量硬件及标准商 业科技( 如个人计算机和网络) 。虚拟仪器技术包含了专为控制应用设计的软件 及针对不同频率与精确度范围的通用测量硬件,因此,工程师可以在测试或控制 应用中自行定义测量功能。这些软硬件工程工具能紧密地与开放式的商业计算机 平台整合使用,充分利用不断进步的计算机科技以获取高效率、高性能及低成本 的利益。同时,其应用范围极其广泛,从汽车到消费电子,从石油到燃料能源, 横跨数百个工业领域。 虚拟仪器与p c 之间的接口从最初用到的g p i b ( 通用接口总线) 总线,发 展到v x i 、p x i ( 面向仪器系统的p c i 扩展) 总线。从最初的p c 插卡到并口再 到串口u s b 方式。虚拟仪器与p c 之间的传输速度越来越快。 第一章绪论 随着后p c 时代的来临,业界对虚拟仪器的智能化和小型化的要求越来越高。 嵌入式系统的发展使得基于嵌入式微处理器和实时操作系统的嵌入式虚拟仪器 能够满足恶劣工作环境下的便携虚拟仪器的需要。这也是虚拟仪器的一大发展方 向【5 1 。 1 3 课题的意义及主要工作 本课题主要是针对a i s 海事电台进行测试,采用的是基于嵌入式的虚拟仪 器系统,整个系统的核心器件是a r m 和d s p 芯片,采用外接的示波器、频谱 仪等作为主要的数据来源。实现了对a i s 海事电台的基带以及射频部分的测试。 本测试平台主要针对a i s 海事电台进行测试,同时还具有一定的通用性,添加 不同的软硬件模块可以实现不同的功能。 测试系统的软件主要分为两部分:上位机软件和下位机软件及测试软件。本 论文主要讲述下位机的软件及测试软件。下位机软件包括d s p 与上位机通信和 d s p 相关的软件,比如波形发生、失真度计算等。测试软件是针对a i s 海事电 台的基带部分,对基带的电压、芯片及接口进行测试。 其中,论文章节安排如下: 第一章为绪论部分,主要介绍了课题的选题背景、发展及应用和课题的主要 工作。 第二章主要介绍了测试系统的整个平台的概况,包括硬件及软件设计的概 况。 第三章主要介绍了本论文中用到的软件设计的环境。 第四章详细讲解了系统的软件设计,包括下位机软件设计和测试程序的设 计。 第五章主要描述了测试的流程及实验的结果及分析和总结,并提出了改进的 地方。 第二章测试系统概述 第二章测试系统整体概述 基于a i s 海事电台的测试系统包括硬件和软件两个部分,可以实现对a i s 海 事电台进行射频和基带部分进行测试。本章主要对测试系统的目标以及测试系统 的硬件平台和软件设计进行简单概述。 2 1 测试系统的目标 基于a i s 海事电台的测试系统主要是完成对a i s 海事电台的射频和基带部分 的测试。同时,本测试系统还可以当作一个较为通用的简单测试系统,可以进行 高频和基带信号的采样,对信号进行简单的分析;可以产生作为一个对精度要求 不高的基带信号源;外接不同的仪器,比如示波器、逻辑分析仪、频谱仪等,可 以进行功能的扩展。 2 2 测试系统的硬件平台概述 本测试系统主要由a r m + d s p 硬件板和一些外扩的仪器( 比如频谱仪等) 组 成。测试系统的a r m 芯片采用的是s 3 c 2 4 1 0 芯片。d s p 芯片为t i 公司的 t m s 3 2 0 c 5 5 0 9 ,它是一款定点数字信号处理器【6 】。 测试系统的$ 3 c 2 4 1 0 外接了l c d 用于操作的界面和信息的显示;外接鼠标 来对l c d 显示的界面进行操作,来控制系统进行各个模块的测试;外接一些仪器, 比如示波器、频谱分析仪等,来对高频信号采样和分析。$ 3 c 2 4 1 0 的i o 管脚连 接f p g a 的j t a g 引脚,可以实现对f p g a 进行程序的烧录,而不用通过p c 。 t m s 3 2 0 c 5 5 0 9 通过m c b s p ( 多通道缓冲串口) 和$ 3 c 2 4 1 0 的异步串口进行通信, 接收s 3 c 2 4 1 0 发过来的指令,并进行相应的响应。t m s 3 2 0 c 5 5 0 9 中的程序是存 储在f l a s h 中,上电或者复位时从f l a s h 进行b o o t 。其中t m s 3 2 0 c 5 5 0 9 还产生基 带波形、数据采集和失真度计算等。 对a i s 基带部分的测试包括电源、电压、晶振和芯片及其接口。进行芯片及 接口测试是$ 3 c 2 4 1 0 通过j t a g 向f p g a 烧录程序,f p g a 对d s p 进行e h p ib o o t 的流程进行。逐个芯片进行排除测试,之后进行芯片的外设和外接芯片的测试。 第二章测试系统概述 系统的原理框图如图2 1 所示: 测试系统被测试系统 2 3 软件设计环境介绍 图2 1 测试系统原理框图 2 3 1q u a r t u si i5 1 软件介绍 q u a r m si i 是a l t e r a 公司的综合性p l d ( p r o g r a m m a b l el o g i cd e v i c e ) 开发软 件,支持原理图、v h d l 、v e r i l o g h d l 以及a h d l ( a l t e r ah a r d w a r ed e s c r i p t i o n l a n g u a g e ) 等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设 计输入到硬件配置的完整p l d 设计流程m 。 本论文中用到的版本是q u a r t u si i5 1 。 第二章测试系统概述 2 3 2c c s 软件介绍 c o d ec o m p o s e rs t u d i o 简称c c s ,是t i 公司推出的为开发t m s 3 2 0 系列d s p 软件的集成开发环境( m e ) 。c c s 采用图形接口介面,提供有编辑工具和工程管 理工具。它将各种代码产生工具,诸如汇编器、链接器、c c h 编译器、建库工 具等集成在一个统一的开发平台中。c c s 所集成的代码调试工具具有各种调试功 能,能对t m s 3 2 0 系列d s p 进行指令级的仿真和进行可视化的实时数据分析。此 外,还提供了丰富的输入输出库函数和信号处理的库函数,极大地方便了t m s 3 2 0 系列d s p 软件的开发过程【8 】。 本论文中使用的软件开发环境为c c s3 0 版本。 2 4 测试系统的软件设计概述 测试系统的软件包括上位机的界面的显示和控制软件、下位机软件和测试软 件三大部分。 上位机的界面显示和控制软件是在a r m 上运行,主要是界面和信息的显示, 和对流程的控制和结果接收。下位机软件主要是进行和上位机通信,接收上位机 命令并完成相应的功能模块。测试软件主要是针对a i s 海事电台的基带部分,包 括f p g a 以及d s p 等芯片的测试软件。 下位机软件设计主要包括以下几部分:d s p 与上位机串口的通信、使用d s p 的a d c 外设对电压采样、控制a i c 2 3 芯片进行基带波形发生、控制a i c 2 3 对基 带信号进行数据采集、失真度的计算、f l a s h 中程序的存储和上电对d s p 的启动。 下位机软件总体的框图如图2 2 所示: 下位机软件设 计 型d s p - 与* d 避幽匿a i c 2 3 拣幽巨f l a s h q 獬 测试软件的设计是针对a i s 海事电台的基带部分,进行针对性的软件设计。 a i s 海事电台的基带部分主要包括d s p 、f p g a 、f l a s h 、s d r a m 、a i c 2 3 等芯片。 第二章测试系统概述 其中f p g a 的i o 管脚与d s p 的e h p i 连接,d s p 通过e m i f 外接f l a s h 及s d r a m , f p g a 和d s p 的地址数据总线相连,d s p 与a i c 2 3 通过1 2 c 和m c b s p 0 连接, d s p 的g p i o 连接f p g a 的j t a g 引脚,f p g a 外部接4 个l e d 灯。 测试软件是通过j t a g 向f p g a 烧录,对d s p 的程序烧录是通过f p g a 向 d s p 通过e h p i 进行b o o t 。其它芯片及接口的测试是依赖于f p g a 和d s p 中的程 序。 测试程序包括:f p g a 及外接的l e d 灯的测试、f p g a 通过e h p i 对d s p 进 行b o o t 、d s p 的测试、d s p 外接存储芯片的测试、a i c 2 3 芯片的测试、d s p 的 g p i o 对f p g a 的控制测试。如图2 3 所示: 图2 - 3 测试程序总体框图 第三章下位机软件设计 第三章下位机软件设计 下位机的软件主要是t m s 3 2 0 c 5 5 0 9 上的软件,运用工具为c c s 。一个完整 的c c s 的工程包括以下文件:c 源程序、汇编源程序、目标文件、库文件、连接 命令文件和包含文件【9 】。 3 1t m s 3 2 0 c 5 5 0 9 与上位机异步串口的通信 3 1 1 方案概述和接口介绍 在测试系统设计中,我们使用d s p 和上位机串口进行通信。一般分为软件实 现和硬件实现两种。软件实现一般占用d s p 的两个引脚,由软件模拟实现串口的 数据收发。软件实现异步串行接口的缺点是占用较多的片上资源( 定时器和c p t 9 。 硬件实现异步串行接口一般分为两种,一是在d s p 外部扩展专用的异步通信器 件,完成收发数据的缓存及采样,减少c p u 软件采样的负担;另一种是利用外部 可编程芯片,实现d s p 片上同步串口到异步串行接口的协议转换。不论何种硬件 实现方式,均需要较为复杂的外部扩展芯片,硬件设计难度增高,且不可避免地 增加了整个系统的功耗【l o 】【1 l 】。 本论文采用t m s 3 2 0 c 5 5 0 9 通过m a x 3 2 3 2 和上位机的r s 2 3 2 串口相连的方 案。相对于前面的软件实现和硬件实现方法,硬件连接简单,利用d s p 片上的同 步串口资源即可实现异步串行通信协议;而且不需要额外的定时器,相对减少了 c p u 的占用时间。 r s 2 3 2 标准是一种异步的串行通信方式。异步串行通信以字符为单位,传送 格式如图3 1 所示: 蠢0 蓑摹| |n 曩- i 差差嚣 据据据据 二: 起位位位 位 暑篇起 始 l2 44 始 : 二旺三 二厂 卜一一桢一 图3 - 1 异步串行通信的字符格式 第三章下位机软件设计 这种标准中,信息的两种状态分别以m a r k 和s p a c e 标志。其中m a r k 对应逻 辑1 状态。s p a c e 对应逻辑0 状态。数据的传输以一个起始位开始。起始位之后 是数据位,低位在前,高位在后。数据位之后是可选择的奇偶校验位。停止位是 最后一位,用于标志字符传送的结束。从起始位到停止位所有的内容成为一帧, 数据传送可以是连续的,也可以是不连续,不传送时维持数据线m a r k 状态。 m c b s p 是多通道缓冲串口的简称,它是同步串口。它依靠3 个信号实现发送 数据和接收数据:数据线d ( w x ) ,帧同步线f s ( r :x ) $ n 移位时钟线c l k ( r x ) 。 发送数据时将要发送的数据写到发送数据寄存器d x r ,在f s x 和c l k x 作用下, 由d x 引脚输出。接收数据时,来自d r 引脚的数据在f s r 和c l k r 作用下,从 数据寄存器d r r 中读出数据。m c b s p 分别在相应时钟的上升沿和下降沿进行数 据检测。单段帧的数据传输图如图3 2 所示: 3 1 2 硬件连接 图3 - 2m c b s p 的单段帧数据传输 m c b s p 和r s 2 3 2 的硬件连接示意图如图3 3 所示: 5 5 0 9 m 脚2 3 2r s 2 3 2 d xr x d d r f s r- f ) ( d 图3 - 3m c b s p 和r s 2 3 2 的硬件连接示意图 m a x 3 2 3 2 是一种双组驱动器接收器,每个接收器将电平输入转换成3 3 v t t l c m o s 电平。m a x 3 2 3 2 在此的作用是d s p 和r s 2 3 2 之间进行电平的转换。 由于5 5 0 9 的引脚电压为3 3 v ,因此5 5 0 9 可以和m a x 3 2 3 2 直接连接。 第三章下位机软件设计 值得注意的是,图中m c b s p 的d r 引脚与f s r 引脚始终连在一起。d r 与 f s r 相连,则是将数据线上的电平跳变直接引入到f s r 端,当f s r 检测到数据 线上的第一个下跳沿时,m c b s p 认为帧同步信号到来,然后根据设定的帧结构, 由d r 引脚读取数据。 为保证f s r 检测到起始位后,不把数据位中的低电平再次误认为是起始位而 造成接收的混乱,应在m c b s p 的寄存器中作相应设置,忽略数据帧接收过程中 的帧同步检测。 3 1 3 数据格式的统一 要实现5 5 0 9 的m c b s p 和r s 2 3 2 通信,首先要解决这两种不同方式之间的数 据格式统一问题。这里将m c b s p 的1 个字等效为r s 2 3 2 串口数据的1 位,实现 5 5 0 9 的m c b s p 与r s 2 3 2 数据格式的统一,同时r s 2 3 2 传送数据的起始位作为 m c b s p 的帧同步信号。在这个系统中,将每个m c b s p 的一个1 6 b i t 的字等效为 r s 2 3 2 数据的一位,即m c b s p 传送的每帧1 0 个1 6 b i t 的字等效为r s 2 3 2 传送的 1 个8 i n l 模式( 1 个起始位+ 8 个数据位+ 1 个停止位) 数据位【1 2 1 ,见图3 - 4 : f s r x 弋= 二二二二二工二= r d r x 繁丝够3 ( d d r l ) ; n c o t m t + + ; 其中n c o u n t 和d a t a 1 0 为全局变量,接收1 帧( 1 0 个数据) 之后,t a s k _ _ f u n 0 设置n c o u n t 为0 并开始调用d e c o d e ( ) i 函数开始对接收的数据解码。解码函数为: i f ( ( d a t a o & o x 0 1 8 0 ) l l ( d a t a 9 & o x 0 1 8 0 盘0 ) ) r e t u r no x f f f f ; f 0 “i 1 ;i 9 ;i + + ) i f ( d a t a i & o x o 18 0 ) t + = 1 c , i ) ; i f ( t o ) d a t at r x i + 1 = 0 x f l t f ; e l s e d a t a _ t r x i + 1 - 0 x 0 0 0 0 ; ) d a t a _ t r x 0 】和d a t at r x 9 分别是起始和终止字节,分别为0 x 0 0 0 0 和0 x f f f f 。 其它按照低位在前的顺序进行编码即可。然后将此帧数据进行发送。 解码之后根据命令执行不同的子函数,即下位机软件中的其它模块的程序。 3 2a d c 外设对电压进行采样 3 2 1a d c 外设及其寄存器介绍 a d c 是a n a l o g t o d i g i m lc o n v e r t e r 的简称,t m s 3 2 0 v c 5 5 0 9 包含1 个a d c , a d c 模块可以一次进行最多4 路输入中的1 路输入的采样,采样精度为1 0 b i t 。 最大采样速率为2 1 5 k h z 。适合采样低速的信号。比如,可以监视电压的变化【1 4 】。 整个数模转换过程分为两个周期:采样保持周期及转换周期。 采样保持周期是采样保持电路采集信号的时间,这个周期要不小于4 0 u s : 转换周期是阻容比较网络在一次采样中完成逼近处理并输出a d 转换结果的 时间,需要1 3 个转换时钟周期。内部转换时钟的最大频率为2 m h z 。 a d c 整个数模转换周期如图3 - 6 所示: 第三章下位机软件设计 一 总转换周期 h 灶o 口h 一 口f i 口,h j m l 数模采样,保持周 转换时间为 1 3 个a d 转 期不小于4 0 u s 换周期 图3 - 6 转换时序图 数模转换主时钟: a d cc l o c k = ( s y s t e mc l o c k ) ( s y s t c m c l k d i v + 1 ) ( 3 3 ) 数模转换时钟: a d cc o n v e r s i o nc l o c k = ( a d cc l o c k ) ( 2 ( c o n v r a t e d i v + 1 ) ) ( 3 _ 4 ) 数模转换时钟必须小于等于2 m h z ; 数模采样保持周期: a d c s a m p l ea n dh o l dp e r i o d = ( 1 ( a d cc l o c k ) ) ( 2 ( c o n v r a t e d i v + 1 + s a m p t i m e d i v ) )( 3 5 ) 数模采样保持周期必须大于等于4 0 u s 。 整个转化周期: a d ct o t a lc o n v e r s i o nt i m e = ( a d cs a m p l ea n dh o l dp e r i o d ) + ( 1 3 ( 1 a d cc o n v e r s i o nc l o c k )( 3 - 6 ) a d c 外设寄存器有4 个,分别是控制寄存器( a d c r ) 、数据寄存器( a d d r ) 、, 时钟分频寄存器( a d c d r ) 、时钟控制寄存器( a d c c r ) 。 下面是寄存器内容的说明,如表3 3 所示: 表3 3a d c 寄存器内容说明 第三章下位机软件设计 3 2 2 程序设计详述 程序流程图如图3 7 所示: 图3 7a d c 电压采样流程图 程序中设置的系统时钟是1 2 0 m h z 。对系统的主时钟进行分频,产生数模转 换主时钟,该时钟尽量运行在较低的频率下,以降低功率的消耗。设置a d c c r 中的s y s t e m c l k d i v 为0 0 0 11 1 0 1 ,即2 9 。根据公式3 3 ,得出转换主时钟为4 m h z 。 然后获得数模转换时钟,该时钟最大为2 m h z ,要获得2 m h z 的时钟,由公 式3 - 4 ,得出c o n v r a t e d i v = 0 ,设置a d c d r 中的c o n v r a t e d i v 为0 0 0 0 。 数模转换时间= 1 3x ( 1 a d cc o n v e r s i o nc l o c k ) = 1 3 ( 1 2 m h z ) = 6 5 u s 然后对采样保持时间进行设置,此值必须大于等于4 0 u s ,由公式3 5 ,得出 s a m p t i m e d i v = 7 9 ,即设置a d c d r 中的s a m p t i m e d i v 为0 1 0 01 1 1 l 。 整个转换时间为4 0 u s 加上6 5 u s ,即4 6 5 u s ,采样频率为1 4 6 5 u s = 2 1 5 k h z 。 操作a d c 外设进行电压采样的函数为a d cy o l 0 ,其主要实现如下: 第三章下位机软件设计 s e l m a s k ( p a - a d c r , a d c r w h i l e ( ! r e a d m a s k ( p a a d 血a d d r等待采样结束 ( p a -a d c b u s y ) ) ;b u f i = r e a d m a s k a d d r , a d d r _ a d c d a t a _ m a s k ) ;读取采样数据宰 采样次数为1 0 次,之后求出平均值,由于是1 0 位数据,分两次上传。 c o d e 位数据分两次上传_ a n d t r x ( t & 0 x 0 0 f 0 ;1 0 c o d e _ a n d _ t r x ( ( t 8 ) & 0 x 0 0 f f ) ; a d c 是不能工作在连续模式之下,每次转换开始时,d s p 必须对a d c 控制 寄存器的a d c s t a r t 位置1 才能开始一次采样。并且不支持d m a 或者c p u 中断, 只有通过查询a d d r 的a d c b u s y 位等待采样数据准备就绪。 3 3 使用a i c 2 3 进行基带波形产生 3 3 1 基带波形产生方法及选择 基带波形频率低,且对精度的要求不如高频信号严格,加上d s p 芯片以其独 特的结构和快速实现各种数字信号处理算法的突出优点使得在波形及频率合成领 域,显示出强大的能力。 正弦波是任何波形构成的基本单元, 产生正弦波的方法一般有:采样回放法、 1 采样回放法 因此首先介绍产生正弦波的几种方法。 查表法、泰勒级数展开法。 该方法最为容易实现,只需对已有标准正弦信号源进行采样得到数据后直接 回放或进行变频变幅处理后回放。 2 查表法 根据要产生的波形,生成一个波形数据表,可以通过程序直接使用该表中的 数据,由d a 回放出正弦波【”】。 3 泰勒级数展开法 一定角度的正弦及余弦波都可以展开成泰勒级数,实际应用是只取有限项进 行近似处理,产生数据由d a 回放出正弦波。 由于采样回放需要较高精度a d 、d a ,查表法需大量数据且不能很好进行 调频,所以采用泰勒级数展开法。其优点:计算不同的角度只需不断地变换角度 值,且利用弧度与频率之间的关系很容易实现变频处理。调幅可将输出的离散波 形值乘以相应的缩放因子。如果进一步掌握好d s p 及所用d a 的数据格式及参 考电压,还可以实现调幅处理【16 】【1 7 1 。 本文使用泰勒级数展开法。采用泰勒级数的前五项进行展开 第三章下位机软件设计 血口= x 一言+ 酉x 5 一而x 7 + 蔷= 皿1 一盖( 1 - ! ( 1 一( 1 一一x 2 9 4 56 0 78 9 ) ) ) ) ( 3 7 ) 31 51711、皿、 、7、7 c o s 吕= x 一酉x 2 + 若一百x 6 + 蔷= 一手c - 一刍c - 一盖c 一丢助 c 3 嘞 214161812 、3 口4 、5 口5 、7 匮 、7 其中:秒为角度值,x 为其对应的弧度值。 3 3 21 2 c 总线和a i c 2 3 概述 a i c 2 3 进行配置使用5 5 0 9 的1 2 c 总线。 1 2 c 总线使用一条串行数据线s d a 和一条串行时钟线s c l 。s d a 线上的数 据必须在时钟的高电平周期保持稳定。数据线电平状态只有在s c l 线是低电平时 才能改变。起始s 和停止p 条件例外,在s c l 线是高电平时s d a 线从高电平向 低电平切换这个情况表示起始条件,当s c l 是高电平时s d a 线由低电平向高电 平切换表示停止条件。如图3 8 所示: s 队一小i 二:二二二i 门一一s 队 l 图3 - 81 2 c 的起始和终止情况 1 2 c 总线传输有7 位和1 0 位寻址方式。7 位寻址方式是7 位地址加一个读写 位。1 0 位寻址方式所传的第一个字节1 1 1 0 加上地址的高两位和读写位组成,下 一字节传输剩余的8 位地址。 a i c 2 3 全称是t l v 3 2 0 a i c 2 3 ,a i c 2 3 有许多可配置的特性。通常使用控制接 口来实现对其配置。控制接口有s p i 模式和2 线模式【1 8 】。 本程序中使用的是2 线模式。数据传输使用s d i n 作为串行数据线,s c l k 作为串行时钟线。和1 2 c 总线是兼容的。 a i c 2 3 的寄存器可以设置左右线路输入和左右耳机输出的音量,a d c 的输 入是线路还是麦克风,a i c 2 3 是主还是从模式,d a c 的输入数据位数和模式,模 式有右调整模式,左调整模式,1 2 s 模式,d s p 模式。其中d s p 模式是和5 5 0 9 的m c b s p 接口相兼容的。其时序如图3 - 9 所示: 第三章下位机软件设计 l r c l n , l r c o u t b c l k d i n 。 d o u t 图3 - 9 d s p 模式时序 还有采样时钟模式设置。采样时钟模式分两种:u s b 模式采样和普通模式采 样。论文中使用u s b 模式,其采样频率的选择如表3 4 所示: 表3 - 4u s b 模式下的采样频率选择 3 3 3 程序设计详述 程序设计的流程图如图3 1 0 所示: 第三章下位机软件设计 图3 1 0 基带波形产生流程图 2 1 m c b s p 2 发送中断 第三章下位机软件设计 程序中的初始化模块包括时钟、1 2 c 、m c b s p 、a i c 2 3 的初始化。 1 时钟发生器初始化 本模块使用的是主程序中的时钟的初始化函数,设置c p u 时钟是1 2 0 m h z 。 2 1 2 c 初始化 1 2 c 的寄存器很多,在本程序中用到寄存器如表3 5 所示: 表3 - 51 2 c 部分寄存器内容和解释 首先是,1 2 c 复位进行寄存器配置。设置i p s c 为9 ,由公式3 7 模块时钟= c p u 时钟( i p s c + 1 ) ( 3 - 9 ) 即模块时钟是1 2 m h z 。设置i c c l k l 和i c c l k h 都为2 5 ,由公式3 8 s c l 频率;模块时钟( ( i c c l + d ) + ( i c c h + d ) 1 ( 3 l o ) 其中d = i p s c ,s c l 频率为2 0 0 k h z 。 之后设置7 位从设备地址并设置为主模式。最后1 2 c 从复位状态恢复。 3 a i c 2 3 初始化 t a i c 2 3 的初始化是通过d s p 的1 2 c 总线来进行的。需要1 2 c 做主模式写入 a i c 2 3 寄存器,1 2 c 发送数据函数声明为: v o i d1 2 c _ w r i t e ( u n s i g n e ds h o r ti n td e v i c e ,i n tc o u n t , u n s i g n e dc h a r 木b y t e d a t a ) ; 函数三个参数分别为从设备地址,发送字节数,发送的数据指针。先配置发 送数据个数和从设备地址,之后配置为发送模式开始传输。采用查询i c s t r 寄存 第三章下位机软件设计 器i c ) 口5 y 位方式。 向a i c 2 3 进行写入的函数声明为: v o i da i c 2 3 _ w r i t e ( u n s i g n e ds h o r tr e g a d d r , u n s i g n e ds h o r td a t a ) ; 函数的参数分别为a i c 2 3 寄存器的地址与要写入寄存器的数据。由于a i c 2 3 采用2 - w i
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 课件换主题的APP
- 动态虚拟服装渲染-洞察及研究
- 成都地产人才培养课件
- 成本管理业财融合课件
- 《改造我们的学习》课件 统编版高中语文选择性必修中册
- 2025年公安招警考试面试试题及答案解析
- 纪检党建活动创意方案策划
- 少儿篮球营销活动策划方案
- (黑龙江专用)中考历史真题汇编:综合材料题- 5年(2020-2024)中考真题+1年模拟真题汇编
- 工业机器人智能化升级关键技术路径与产业创新模式研究报告
- 《陆上风电场工程概算定额》NBT 31010-2019
- CFG桩复合地基沉降及承载力自动计算
- 浅析加强物资采购质量的措施
- 青岛版二年级下册万以内数的加减法竖式计算300题及答案
- 2024年天津港集团有限公司招聘笔试参考题库附带答案详解
- 传统体育运动在小学课堂中的应用课件教案
- 类脑计算与神经网络
- 手术授权申请表
- 2023年度全国出版专业技术人员职业资格考试-基础知识(初级)试题
- 2023届高考语文备考之整句与散句变换(10道真题含答案)
- 灌注桩后注浆施工记录
评论
0/150
提交评论