首页
|
新闻
|
新品
|
文库
|
方案
|
视频
|
下载
|
商城
|
开发板
|
数据中心
|
座谈新版
|
培训
|
工具
|
博客
|
论坛
|
百科
|
GEC
|
活动
|
主题月
|
电子展
注册
登录
论坛
博客
搜索
帮助
导航
默认风格
uchome
discuz6
GreenM
»
MCU 单片机技术
» 基于VHDL的嵌入式单总线控制器设计
返回列表
回复
发帖
发新话题
发布投票
发布悬赏
发布辩论
发布活动
发布视频
发布商品
基于VHDL的嵌入式单总线控制器设计
发短消息
加为好友
我是MT
当前离线
UID
1023166
帖子
6651
精华
0
积分
3328
阅读权限
90
来自
燕山大学
在线时间
230 小时
注册时间
2013-12-19
最后登录
2016-1-5
论坛元老
UID
1023166
性别
男
来自
燕山大学
1
#
打印
字体大小:
t
T
我是MT
发表于 2015-10-3 10:20
|
只看该作者
基于VHDL的嵌入式单总线控制器设计
软件
,
嵌入式
,
控制器
,
DS1820
,
微处理器
DS1820是美国DALLAS公司生产的一种单总线(1- wire)数字温度传感器,采用1-wire总线通信协议。具有独特的单总线通信方式以及较高的测量精度,从而获得了广泛应用。参考文献[1]详细介绍了 DS1820的基本原理和通信时序,提出由单片机的I/O端口模拟单总线时序来控制DS1820的方法[1]。参考文献[2]更进一步地将DS1820测量温度的分辨率由0.5 ℃提高到了0.1 ℃。将DS1820应用于不同领域,同样取得了较好的效果[3-5]。上述文献在使用DS1820时均采用微处理器作为总线主机,利用微处理器的I/O端口,用软件模拟单总线时序,实现与DS1820的通信。因为1-wire器件对总线时序要求严格,因此,为了保证与DS1820的可靠通信,微处理器需要采用关闭中断的办法,以防止操作时序被中断服务所破坏。这种方法增加了软件的设计难度,影响了系统的实时性[6]。
VHDL作为电子设计主流硬件描述语言,采用了层次化设计方式,具有电路行为描述能力强、灵活、通用、运算速度快的特点,能够较容易地实现时序逻辑控制[7]。以数字温度传感器DS1820为例,设计一个基于VHDL的单总线控制器,实现与DS1820的通信。本文介绍的单总线控制器,有较强的可扩展性,可以连接多种单总线器件,且微处理器可以不用被迫关闭中断,满足实时性严格要求的应用。
1 DS1820简介
1.1 DS1820内部结构
DS1820主要由4部分组成:64 bit光刻ROM、温度敏感器件、高速暂存存储器和温度报警触发器TH、TL。64 bit光刻ROM保存DS1820的唯一64 bit的ROM编码。高速暂存存储器包含9个连续的字节,存放测得的温度(补码)、TH和TL的拷贝、计数器余值和CRC校验等数据,其结构如图1所示。所有数据均以最低有效位在前的方式读写。
DS1820可以采用寄生电源的方式供电,在信号线为高电平的时间周期内,把能量储存在内部电容器中,在信号线为低电平期间,由存储在电容器内的电荷供电。DS1820工作时信号线须接4.7 kΩ的上拉电阻,以保证信号线有足够的驱动能力。
1.2 DS1820时序及工作方式
DS1820时序如图2所示,时序波形的电平分为3种类型:主机作用的高低电平、DS1820输出的高低电平和由上拉电阻拉起的高电平(后2种情况主机释放信号线)。DS1820闲置时信号线应保持高电平。对DS1820的任何操作(读、写、复位等)都是由主机对信号线由逻辑高电平拉至低电平开始。
由时序图可知,单总线的通信协议由6种信号类别组成:复位脉冲、存在脉冲、写0、写1、读0、读1。所有这些信号除了存在脉冲之外,均由总线主机产生。
主机通过单总线对DS1820的操作必须首先由ROM操作命令之一开始。现以单总线只挂接一个DS1820,读取温度数据为例,其工作过程如下:
(1)主机产生复位脉冲,DS1820返回响应脉冲;
(2)主机写入Skip ROM(CCH,跳过ROM)命令,该命令为5种ROM操作命令之一;
(3)主机写入温度转换(44H)命令;
(4)主机再次产生复位脉冲,DS1820返回响应脉冲;
(5)主机写入Skip ROM(CCH,跳过ROM)命令;
(6)主机写入读暂存存储器命令(BEH);
(7)读暂存存储器的温度数据。
2 控制器设计
2.1 控制器结构
控制器结构如图3所示,控制器由4部分组成,即逻辑控制、单总线时序控制、数据缓存和计数器。逻辑控制部分用于实现与CPU的通信,D0~D7 为8位双向数据线,EN为启动信号,下降沿有效。A1、A0为地址信号,其组合决定控制器的工作状态。A1A0=00,控制器对DS1820执行复位操作;A1A0=01,控制器执行写入操作;A1A0=10,控制器执行读出操作。控制器由外部提供200 kHz的时钟信号CLK,产生5 μs的计数周期,控制器以5 μs为一个时间片形成DS1820的读写时序。计数器的计数输出值控制读写周期。单总线时序控制部分的主要功能是产生单总线的读写时序,并向DS1820 输出控制命令,读出DS1820测得的数字温度值及其他输出信息。
2.2 读写时序的实现
DS1820要求引脚驱动必须是漏极开路引脚,控制器用三态门与DS1820连接,如图4所示。其中ctrl为三态门控制信号,当ctrl=0时输出信号,ctrl=1时输入信号。控制器采用5 μs作为基本计时单位,可以保证DS1820时序关系有一定的余地。
写字节部分VHDL代码:
3 仿真波形
控制器的VHDL程序在MAX+plusII平台编译通过,并获得了正确的复位、读、写时序。图5为写时序波形,写入77H字节。每次写入新的bit前,控制器将总线电平拉底10 μs。
基于VHDL的
嵌入式
DS1820控制器,具有转换速度快、精度高、通用性好等优点。同时,嵌入软核的FPGA可以分担许多微处理器的工作,降低系统对CPU实时性的要求,也降低了软件开发的难度。本文虽然是针对DS1820设计的控制器,但由于单总线通信协议的通用性,也可以用于其他单总线器件。
收藏
分享
评分
回复
引用
订阅
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
无线技术
微波在线
综合交流区
职场驿站
活动专区
在线座谈交流区
紧缺人才培训课程交流区
意见和建议