ARM Cortex-A8/A9开发板 | ARM11开发板ARM11开发套件 | ARM9开发板ARM9开发套件 | 飞思卡尔I.MX28I.MX6开发板 |
tiny210/mini210开发板 | mini6410开发板/套餐 | Tiny6410开发板无线套件 | mini2440开发板/套餐 | micro2440开发板带核心板 | 友善开发板配件 模块 | QQ2440 V3 SBC-2410X |
FL2440 OK2440-IV V4 | OK2440-III OK2440V3 | TE2440-II TE2440V2 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | 开发板配件 模块和其他 |
Xilinx开发板/fpga开发套件 | altera开发板/fpga开发套件 | 基于FMC FPGA/DSP子卡 |
BeagleBoard原厂开发板 | PandaBoard原厂开发板 |
TI DM3730 DevKit8500D | TI系列 omap3530开发板 | ATMEL系列 开发板 | Samsung系列 开发板 | 开发板配件-仿真器 模块 | NXP LPC3250 mini3250 |
Tiny210 三星S5PV210 | Mini210/Mini210s开发板 | Tiny4412开发板Cortex-A9 | Tiny6410开发板 ARM11 | mini2440开发板 ARM9 | micro2440开发板 ARM9 | mini6410开发板 ARM11 | 友善ARM开发板配件 模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
FL2440 OK2440-IV V4 | OK6410 S3C6410 ARM11 | FL6410/OK6410B ARM11 | OK210/-A Cortex-A8 | TE2440-II TE2440V2 | TE6410 S3C6410 ARM11 | TE-9263 AT91SAM9263 | ARM开发板配件 模块等 |
Real6410开发板/套餐 | Real210开发板/Real2410 | WIFI GPS GPRS模块摄像头 |
Xilinx开发板/开发套件KIT | Altera开发板/开发套件KIT | 配套模块 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | 最小系统模块类(初学者勿选) | 开发工具 仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
DM3730/AM3715/AM3359 | OMAP3530AM1808AM3517 | 飞思卡尔Cortex-A9开发板 | ATMEL系列ARM开发板 | NXP LPC3250 LPC1788 | Samsung系列ARM开发板 | STM32系列F207/F407 | ARM开发板配件-仿真器 模块 |
Realv210 S5PV210开发板 | Real6410开发板 ARM11 | WIFI GPS GPRS模块摄像头 |
NXP LPC开发板 ARM7 | Cortex-M3 STM32开发板 | ARM小系统模块(初学勿选) | 开发工具 ARM仿真器 调试器 | TFT液晶屏LCD 液晶模块 |
keil ARM仿真器/开发工具 | STM32开发板 Cortex-M3 | NXP LPC开发板Cortex-M3 | ATMEL系列 ARM开发板 | Luminary EKK8962开发板 | Freescale i.MX31开发板 | 三星s3c2440 s3c6410开发板 |
Exynos4412开发板A9四核 | UT-S5PV210 S5PC100 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 |
Xilinx开发板 FPGA开发套件 | altera开发板 FPGA开发套件 | FMC模块 配件 下载线 |
DM642开发板/DM642实验箱 | DM6446开发板/DSP实验箱 | DSP仿真器 液晶屏 摄像头等 |
s3c2410 ARM9 FS2410 | s3c2440开发板 ARM9 | s3c44B0开发板 ARM7 | s3c6410 2450 2443/13 | PXA270 PXA320 PXA255 | Atmel 9200 9261 9G20 | Philips NXP开发板YL-LPC | FS-EP9315开发板ARM9 | LCD液晶屏TFT真彩/触摸屏 | ARM仿真器/仿真调试工具 | ARM开发板配套ARM核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯开发板UP-DRAGON-I | 物联网教学科研设备 | EDA/FPGA/SOPC教学科研 |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | YC-ePC-A系列人机界面 | Mars-EDA套件CPLD FPGA | 触摸屏LCD 摄像头 WI-FI模块 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器/仿真系统 | DSP开发板/DSP试验箱 | DaVinci系列多媒体平台 | Xilinx FPGA大学计划产品 | SEED教学实验系统 | FPGA/DSP FPGA开发板 | TI原厂开发板套件/CCS软件 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
广嵌实验室项目产品 | GEC2440/GEC6410开发板 |
泰克Tektronix示波器 | 普源RIGOL示波器 | USB虚拟示波器 |
UT-S5PC100 UT-S5PV210 | UT-S3C6410开发板 ARM11 | idea 6410开发板 ARM11 | UT-S3C2450开发板 ARM9 | UT-S3C2416开发板 ARM9 | UT-S3C6410核心板 工控 | 开发板模块wifi gps等 |
EMA OMAP3530开发板 | EMA OMAP 3530核心板 |
三星s3c2410 s3c44B0 | 三星s3c6410 s3c2443 | Intel PXA270 PXA320 | UP-CUP OMAP5910平台 | FPGA Xilinx Altera平台 | 配件-仿真器 模块 液晶屏LCD | 龙芯系列 UP-DRAGON-I |
utu2440-F-V4.5 含核心板 | utu2440-S-V4.1 单板结构 | YC2440-F-V5.1开发板 豪华型 | 触摸屏LCD 摄像头 WI-FI模块 | Mars-EDA套件CPLD FPGA | ePC系列工控一体机ARM9 A8 |
ARM开发板/开发平台 | FPGA开发板/开发平台 | 编程器/烧写器下载器烧录 | ZLG 仿真器ARM FPGA DSP | ZLG周立功逻辑分析仪 |
DSP初学者开发套件(DSK) | DSP仿真器 | DSP开发板 | DSP实验箱 | Xilinx FPGA大学计划产品 |
ARM开发板 | XSCALE开发板 | ARM仿真器 | SOPC开发板 | DSP开发板 | 达芬奇系列DSP开发平台 | DSP仿真器 | DSP实验箱 | DSP专业研究平台 | ARM实验箱系列 |
ARM开发板S3C6410等 | Cortex-A8/ARM11仿真器 | ADSP Blackfin开发板 | FPGA Spartan-3E开发板 |
GEC2410开发套件ARM9 | GEC2440开发套件ARM9 |
泰克 示波器 |
DS18B20是DALLAS公司生产的一线式数字温度传感器,采取3引脚TO-92型小体积封装;温度丈量范畴为-55℃~+125℃,可编程为9位~12位A/D转换精度,测温辨别率可达0.0625℃,被测温度用标记扩展的16位数字量方法串行输出。
一线式(1-WIRE)串行总线是利用1条信号线就可以与总线上多少器件举行通讯。详细应用中可以利用微处理惩罚器的I/O端口对DS18B20直接举行通讯,也可以通过现场可编程门阵列(FPGA)等可编程逻辑器件(PLD)实现对1-WIRE器件的通讯。
本文先容利用ACTEL公司的ProASICplus系列FPGA实现与DS18B20的通讯成果。FPGA可以将读出DS18B20的48位ID号和12位温度丈量结果生存在内部寄存器中,微处理惩罚器可以随时快速地从FPGA寄存器中读取这些信息。
一样平常在利用DS18B20时每每采取微处理惩罚器的I/O端话柄现与该器件的通讯,这种要领固然比较容易和方便,但是,由于DS18B20的一线式串行总线对时序请求比较严格,因此,为了包管与DS18B20的通讯可靠性,微处理惩罚器与DS18B20通讯时必要采取封闭停止的步伐,以防备操纵时序被停止办事粉碎。
利用FPGA实现与DS18B20通讯不存在被迫封闭停止的环境,可以餍足对及时性请求严格的应用请求。
2 ProASICplus系列FPGA简介
ProASICplus系列FPGA是ACTEL公司推出的基于Flash开关编程技能的现场可编程门阵列,包括从7.5万门的APA075型到100万门的APAl000型,具有高密度、低功耗、非易失、含有嵌入式RAM及可重复编程等特点。
由于ProASICplus系列FPGA基于Flash技能,利用Flash开关生存内部逻辑,因此不必要别的的器件。由于不必要上电配置进程,因此具备上电就立即事变的特点。不消配置器件,体系的保密性进步。
笔者在电力监控的产品中利用APA150型FPGA实现了逻辑控制、A/D采样控制和FIFO存储等成果,并利用剩余的资源实现了DS18B20的通讯成果。APA150在整个体系中充当协处理惩罚器,使主CPU从沉重的及时处理惩罚中摆脱出来。
3 DS18B20简介
3.1内部布局
DS18B20的内部布局如图1所示,重要由以下几部分构成:64位ROM、温度传感器、非挥发的温度报警触发器TH(温度高)和TL(温度低)、配置寄存器、寄存寄存器(SCRATCHPAD)、存储器控制逻辑。DQ为数字信号输入/输出端。
ROM中的64(8位产品家属编号、48位ID号、8位CRC)位序列号是出厂前刻好的,这64位序列号具有惟一性,每个DS18B20的64位序列号均不雷同。
8位CRC天生器可以完成通讯时的校验。
寄存寄存器有9个字节,包括温度丈量结果、温度报警寄存器、CRC校验码等内容。
3.2操纵步调
对DS18B20的操纵分为3个步调:初始化、ROM下令和DS18B20成果下令。
3.2.1初始化
FPGA要与DS18B20通讯,起首必须完成初始化。FPGA孕育产生复位信号,DS18B20返反相应脉冲。
3.2.2ROM下令
该步调完成FPGA与总线上的某一详细DS18B20创建接洽。ROM下令有征采ROM(SEARCH ROM)、读ROM(READ ROM)、立室ROM(MATCH ROM)、马虎ROM(SKIP ROM)、报警查找等下令(ALARM SEARCH)。
这里,FPGA只连接1个DS18B20,因此只利用读ROM下令,来读取DS18B20的48位ID号。
3.2.3 DS18B20成果下令
FPGA在该步调中完成温度转换(CONVERTT)、写寄存寄存器(WRITE SCRATCHPAD)、读寄存寄存器(READ SCRATCHPAD)、拷贝寄存寄存器(COPYSCRATCHPAD)、装载寄存器寄存器(RECALL E2)、读供电模式下令(READ POWER SUPPLY)。
文中不消温度报警成果,因此在本步调中只需完成温度转换,然后通过读寄存寄存器下令完成温度转化的结果。
3.3操纵时序
2所示。从时序图中可以看出,对DS18B20的操纵时序请求比较严格。利用FPGA可以实现这些操纵时序。
4 FPGA与DS18B20的通讯
4.1 DS18B20的操纵模块
FPGA必要完成DS18B20的初始化、读取DS18B20的48位ID号、启动DS18B20温度转换、读取温度转化结果。读取48位ID号和读取温度转换结果进程中,FPGA还要实现CRC校验码的谋略,包管通讯数据的可靠性。
以上操纵重复举行,可以用状态机来实现。状态机的种种状态如下:
RESET1:对DS18B20举行第一次复位,然掉队入DELAY状态,等待800μs后,进入CMD33状态。
CMD33:对DS18B20发出0×33下令,读取48位ID值。
GET_ID:从DS18B20中读取48位ID值。
RESET2:对DS18B20举行第二次复位,然掉队入DELAY状态等待800μs后,进入CMDCC状态。
CMDCC:向DS18B20发出马虎ROM下令,为进入下一状态作准备。
CMD44:向DS18B20发出启动温度转换下令,然掉队入DELAY状态等待900ms掉队入下一状态。
RESET3:对DS18B20举行第三次复位。
CMDCC2:
向DS18B20发出马虎ROM下令,为了进入下一状态作准备。
GET_TEMP:从DS18B20中读取温度丈量数值。
DELAY:等待状态。
WRITE_BIT:向DS18B20中写入数据位状态。
READ_BIT:从DS18B20中读取数据位状态。在该状态中每读取1位数据,同时完成该数据位的CRC校验谋略。全部数据都读取后,还要读取8位CRC校验位。这8位校验位也颠末CRC校验谋略,要是通讯没有错误,总的CRC校验结果应该是0。这时可将通讯精确的数据生存到id和temp_data寄存器中。
计划中采取Verilog语言创建DS18B20操纵模块”DS18B20_PROC”。在该模块中实现以上的状态机成果。该模块的定义为module DS18B20 PROC(sysclk,reset,dq_pim,id,temp_data,dq_ctl)。
从仿真波形可以看出,体系上电后的10ms左右,FPGA可以读出DS18B20的48位ID值,如许,主CPU在体系复位后很短的时间内就可以读取ID值,举行相应的处理惩罚。
4.2 FPGA与CPU的接口
在FPGA中,要实现对DS18B20的通讯处理惩罚,主模块要实现对DS18B20_PROC模块的调用及创建与CPU之间的接口。
与CPU之间的接口通过创建多少寄存器实现。温度丈量值和48位ID可以用4个16位寄存器生存。CPU通过读取这些寄存器可以得到温度丈量数值和48位ID值。
CPU、FPGA及DS18B20的连接原理如图4所示。
5 结束语
在体系中,FPGA可以分担很多主处理惩罚器的事变,进步团体及时性,低落CPU处理惩罚的严格及时束缚,从而低落CPU软件处理惩罚的难度。同时,由于ACTEL公司的ProASICplus系列FPGA的保密特性,可以加强产品知识产权的掩护。
本计划应用在电力监控产品中。丈量出的装置内部温度用于电量丈量精度补偿和报警,对包管产品丈量精度和可靠运行具有紧张意义。48位ID值用于产品的惟一编码标识和以太网MAC地点,便于产品生产、维护和办理。
博航网 www.broadon.net 版权所有
京ICP备10051899号-2 京公网安备110108006479号