GPIB 注意事项(sn75als160+sn75als162)

#记录项目经验和复盘
本文的作者,通过借鉴GITHUB的开源代码,同时借鉴了中国知网几位硕士研究生(杨翠翠/许诚昕/高玉栋/)的论文,以及《IEC_60488_1_2004_IEEE 488.1》,《中华人民共和国国家标准GB/T 1 5946--2008/IEC 60488-1:2004》,完成了公司安排的任务,所以分享经验,记录成长。

本文章借鉴了GITHUB 上开源的gpib 代码,链接:
”gpib“ 的搜索结果 | GitHub 中文社区

1..如果要把机器配置成可说可听,

要在代码里面设置哪些功能?
除了C 之外的全部。

2. 在上位机扫描设备的时候,机器并未发送并行轮询响应,为什么控者还是能扫描到公司机器?
 

因为在将公司仪器设置成

侦听者的时候,NDAC被拉低了很长一段时间来应答控制者

3.1  因为GPIB 接口电平识别的特性,所以输出的DAV, GPIB_OUTPUT,EOI, SRQ_out

都是取反后输出。

为了还原输出的电平,所以这些信号被输入的时候,也要被取反。

(因为电平识别是相反的,1被识别成低电平,所以输出要先取反,保证信号被硬件识别;因为取反后输出,所以输入也要取反,才能还原原来的电平。)

输出要取反:

 DAV    <= not gpib_DAV_out when TE  else 'Z';

 DAV_in   <= DAV;

输入也要取反:

 gpib_DAV_in   <= not gSync_DAV_out;

3.2 但是NDAC/NRFD的输入输出都不用取反,因为NFRD为0,表示的是RFD有效,能直接被GPIB 接口电平识别,所以RFD报文直接赋值给NFRD,不用输入输出取反。
4.如何确定GPIB 的时钟频率?见右图:公司的机器,在AH功能的ST_ACDS 状态(备注:在逻辑分析仪上看到的NRFD/NDAC 信号,是1就是RFD/DAC 报文为真,是0就是NRFD/NDAC 报文为假。),也就是A1 - A2间隔部分,计数2次用了190ns, 也就是说,只要ST_ACDS 状态持续时间超过190ns,就能满足时序要求。因为时钟频率越大,时钟周期越短,所以推测出时钟频率要大于:1*10^9 / (190 /2 )= 5.26 mhz,所以时钟频率选择4mhz。

5.板子的电路,是三态门的,要怎么设置5管理线的方向?

5.1. 因为没有控制(C)功能,所以 SRQ 信号全部设置成输出。

5.2. 因为没有控制(C)功能,所以 IFC   信号全部设置成输入。

5.3. 因为没有控制(C)功能,所以 ATN 信号全部设置成输入。

5.4. 因为没有控制(C)功能,所以 REN 信号全部设置成输入。

5.5. 因为EIO可以由控者发出,也可以由讲者发出,所以 EIO 信号需要设置成三态。

7.代码修改记录

7.1   去掉gpibInterface模块 C 功能

7.2   去掉InterruptGenerator模块

7.3   去掉WriterControlReg1模块

7.4   去掉ReaderControlReg1模块

7.5   去掉GpibStatusReg模块

7.6   去掉gpibBusReg模块

8.如何理解LE/TE 功能的副地址?
所谓副地址,就是GPIB 设备的另外一个地址,就是同一个GPIB 设备,可以用到2个不同的地址来表示。

9.如何理解串行轮询的请求服务?
 

串行轮询是,某一个设备通过拉高rsv 来输出SRQ 线为高,所以总线会发起串行轮询序列,来确认是哪一个设备输出SRQ 线为高,直到确认是哪一个设备发起的服务请求,否则会一直发起SPE 多线报文的串行轮询序列。

 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值