n2000色谱仪主板上主要有以下芯片:
单片机:STC(宏晶科技)公司的 STC AT89C2051 24P1,用于读取spi数据后转为串口输出
光耦合器:美国仙童(FAIRCHILD)公司的6N137、4N25、817B,用于电信号的隔离传输
电压放大:美国TI(德州仪器)公司的OP07,用于微弱信号的精密运放
模数转换:Cirrus Logic(美国凌云逻辑)公司的cs5513,用于将模拟信号经24位高精度A/D转换后输出spi数据
基准电压源:仙童公司的LM336(2.5V),作为基准电压
隔离电源:深圳安时捷公司的HDN1-5D05 DC-DC微功率直流变换器,用于将从USB取电的5V变换为±5V稳压电源,隔离噪声干扰
n2000色谱仪用料精良,用于微弱电压信号的放大采集非常实用。但因为是多年前设计生产,只有串口输出,且必须使用配套的n2000系列软件。低版本的软件只能在windows xp上运行,高版本的软件需要另外的加密锁,在应用上较为不便。
n2000色谱仪通电后即会在串口输出数据信号,于是想到通过电脑直接读取串口上的数据。经过仔细分析,数据作简单处理即可还原为原始的数据信号,用于记录或者分析。
int v11;
char v10 = read_data_tmp[1];
if ( (v10 & 0x3Fu) < 0x20 )
{
v11 = read_data_tmp[3] + (read_data_tmp[2] << 7) + ((v10 & 0x3F) << 14);
}
else
{
read_data_tmp[1] = ~v10;
read_data_tmp[1] &= ~0x80u;
read_data_tmp[2] = ~read_data_tmp[2];
read_data_tmp[2] &= ~0x80u;
read_data_tmp[3] = ~read_data_tmp[3];
read_data_tmp[3] &= ~0x80u;
v11 = 1 - (read_data_tmp[3] + (read_data_tmp[2] << 7) + ((read_data_tmp[1] & 0x3F) << 14));
}