在FPGA或ASIC中嵌入1-Wire®主机
摘要:本应用指南阐述如何将1-Wire主机(1WM)嵌入到用户ASIC设计之中。本文包含了采用Verilog语言如何创建1-Wire主机例程的摘要。本文提到的DS89C200只是一个理论上的微控制器。另外,假定读者已经具备了1-Wire主机DS1WM和1-Wire协议的一般知识。在FPGA或ASIC中嵌入1-Wire主机Aug10,2004摘要:本应用指南阐述如何将1-Wire主机(1WM)嵌入到用户ASIC设计之中。本文包含了采用Verilog语言如何创建1-Wire主机例程的摘要。本文提到的DS89C200只是一个理论上的微控制器。另外,假定读者已经具备了1-Wire主机DS1WM和1-Wire协议的一般知识。引言1-Wire主机DS1WM,称作1WM,创建它是为了便于实现主机CPU通过1-Wire总线与器件进行通信,而无须涉及位时序操作。本应用指南阐述如何将1-Wire主机(1WM)嵌入到用户ASIC设计之中。本文提到的DS89C200只是一个理论上的微控制器,另外,假定读者已经具备了1-Wire主机DS1WM和Maxim的1-Wire协议的一般知识。如欲了解更详细信息,请参阅应用笔记937:"BookofiButtonStandards"和DS1WM数据资料。结构1WM排列象一个顶级的甲胄,连接四个子模块,构成一个完整的单元。在这个顶级的甲胄中并没有HDL代码。四个子模块分别是:one_wire_interface、one_wire_master、clk_prescaler和one_wire_io。对于那些不需要时钟分频器的应用,如果提供外部1MHz时钟源作为clk_1us时钟信号,就可以省去预分频器模块(如DS1WM数据资料中的τ注释,输入时钟指定在0.8MHz至1.0MHz之间)。one_wire_io模块为DATA总线和DQ提供双向信号。在大多数应用中,DQ信号是一个I/O引脚。如果是这种情况,DQ引脚驱动器必须是一个漏极开路引脚,且具有合适的ESD保护(图1)。另外,如果外围器件所使用的上拉电压高于1WM电源电压,则引脚驱动器