首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
»
ARM
» 基于C51的嵌入式实时控制模块的设计与实现
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于C51的嵌入式实时控制模块的设计与实现
发短消息
加为好友
苹果也疯狂
当前离线
UID
852722
帖子
10369
精华
0
积分
5185
阅读权限
90
在线时间
277 小时
注册时间
2011-8-30
最后登录
2016-7-18
论坛元老
UID
852722
1
#
打印
字体大小:
t
T
苹果也疯狂
发表于 2015-6-30 16:25
|
只看该作者
基于C51的嵌入式实时控制模块的设计与实现
测试仪器
,
通信技术
,
嵌入式
,
弧圈球
随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。
1 硬件设计与实现
1.1 总体方案设计
在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。
根据待实现的系统功能要求,综合考虑系统资源,及芯片性价比等因素,确定采用以C51单片机为主控芯片的嵌入式系统方案,芯片为Silicon Labs的C8051F120,具有128 kB片内Flash存储器、8×1 024+256 Byte的片内RAM,可寻址64 kB地址空间的外部数据存储器接口、SPI、UART、定时器、时钟振荡器、PLL等,片上外设资源丰富、控制方便。
系统资源分配:射频接收、发射频综模块,内含DDS,PLL等,外部控制接口是微控制接口,因此直接用单片机的地址、数据、控制三总线实施控制。滤波组件、射频输入/输出模块等的工作状态与接口上信号电平高低有关,因此用GPIO的方式进行控制。A/D转换控制使用串行外围设备接口SPI。与上位机的通信使用RS-232串口。总体设计框图如图1所示。
1.2 总线及I/O控制的设计
对于射频接收频综、射频发射频综模块,直接采用总线控制,为避免不同的模块控制时相互干扰,用3—8译码器对总线地址译码,产生不同模块的片选信号。同时数据线通过总线收发器以提高带负载能力。对于滤波组件、射频输入/输出等用I/O控制的模块,并未直接使用51芯片的GPIO引脚,则是将数据总线经锁存后模拟GPIO信号供相关模块使用,如图2所示,其中,IO_/WR1由B_/CS7与单片机写线逻辑或后产生。
1.3 SPI及RS232控制接口
C8051F120芯片上本身自带了A/D转换器,但只有12位,不适合该系统的需求,故在片外另加一片ADI公司的AD7707。其分辨率为16位,是∑-△体系结构,转换的是输入电平的平均值。三通道,输入电平范围可达±10 mV~±10 V。根据实际要求,该系统使用AIN3高电平输入端口,Unbuffered模式,HICOM、REF-接模拟地,VBIAS与REF+均接+2.5 V参考电压,模拟电源5 V,数字电源3.3 V,能检测输入范围为0~10 V的单极性电平。其控制接口是同步串行口,用51芯片的SPI直接控制。图3是AD7707的电气连接图。
单片机与上位计算机的通信使用通用异步收发器UART,外接MAX3224,将UART信号转换为RS-232信号进行传输,MAX3224在3~5.5 V低电压下工作,却可产生RS-232的±12 V电压,只需连接Tx、Rx和地线即可实现异步串行通信。系统中仍有一些时钟、复位电路和电源等,在此不再赘述。
2 软件设计与实现
2.1 主程序框架
主程序流程图如图4所示。
主程序是顺序结构,较为简单。主要分两部分:一是对系统各部分进行初始化设置,使其能够工作在正常状态。二是正常工作循环状态,当收到上位机的控制命令时,即进行相应的操作,无命令时则等待。对于嵌入式程序而言,无限循环是必要的。
2.2 串口通信程序
串口通信程序实现与上位机的通信功能。具体操作中使用一个循环队列存放接收到的上位机命令,分别用头指针和尾指针指向队头和队尾,将各命令字节取出,进行相应操作。命令执行完毕(队列取空),清标志位,等待新命令。如图5所示。
2.3 SPI通信程序
C51采用SPI主模式与AD7707进行通信。主模式写AD7707较为简单,单片机先写1 Byte的配置数据给AD7707,其会自动将该数据放入自身的通信寄存器,随后AD7707根据该配置值确定下一步要写的寄存器及数据大小,再将单片机随后输入的数据放入指定位置。C8051F120发数据前,先根据SPICN寄存器的TXBMT位的值判断是否能够发送数据,再向自身的SPIDAT寄存器写数据即可,硬件会自动将数据发出。
主模式读AD7707较为困难。当C51已设置AD7707的通信寄存器,表明下一步操作是读AD7707的某个寄存器值后,C51向SPIDAT写任意值,之后SPI数据线(MOSI)上会串行移出数据,同时时钟线上产生串行时钟,从设备(AD7707)收到时钟,将预备的数据送到MISO线上交给C51,同时不采纳主设备发送的任意值。C51将发送的串行数据放在移位寄存器中,当最后一位收到后即移入收缓冲器,再读SPIDAT便可读出数据。
2.4 其他软件模块
其他软件模块均是根据各部分硬件的具体要求,通过向所分配的对应地址空间按序发送所需数据来实现相关功能。
3 结束语
文中提出以C51单片机C8051F120为核心控制芯片的嵌入式系统,已成功应用于某通信测试仪器中,陔系统通过中断及查询等方式较好地实现了对整机的实时控制功能。
收藏
分享
评分
回复
引用
订阅
TOP
返回列表
电商论坛
Pine A64
资料下载
方案分享
FAQ
行业应用
消费电子
便携式设备
医疗电子
汽车电子
工业控制
热门技术
智能可穿戴
3D打印
智能家居
综合设计
示波器技术
存储器
电子制造
计算机和外设
软件开发
分立器件
传感器技术
无源元件
资料共享
PCB综合技术
综合技术交流
EDA
MCU 单片机技术
ST MCU
Freescale MCU
NXP MCU
新唐 MCU
MIPS
X86
ARM
PowerPC
DSP技术
嵌入式技术
FPGA/CPLD可编程逻辑
模拟电路
数字电路
富士通半导体FRAM 铁电存储器“免费样片”使用心得
电源与功率管理
LED技术
测试测量
通信技术
3G
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议