文档介绍:YfDD
\AZ\A/w-020plc,com 有道工控
基于 ARM 勺传感器数据采集与网络传输系统
传感器数据采集、传输因 LM385 为 MAX147 提供 2. 5 V 的参
考电压.
2 采集系统软件设计
采集系统的软件部分包括 A/ D 驱动部分和 TCP 平台中位于用户空间的
TCP 程序可调用 A/ D 驱动实现传感器数据采集.
2. 1 驱动程序设计
Lin UX 设备驱动程序可分为字符流设备驱动程序,块设备驱动程序和网络设备驱动程
的采集结果为 12 位的字符流设备, 为实现在 Linux 环境下访问 MAX147 需要编写字
A/D 驱动的读写函数部分代码.
A/ D 芯片 MAX147 的写参数函数为: static ssize ——t write(struct file *filp user*buffer , size —
count , loff_t*offset)
{?
lf(readb(rS PSTA)& C241o — SP STA_READY) ,const char_
{copy_from_user(~buff , buffer , 1); writeb(buff , rSPTDAT);
return cou nt ;)J
有道工控
读函数为:
static ssize
t read(struct file * fli ,char — user * buffer size
p t
。
count lof_ t*offset)
{?;
—
if(readb(rS PSTA)&$3C2410 SP STA_ READY)
{writebQxOO , rSPTDAT);
if(readb(rS PSTA)&$3C2410
SPSTA
READY)
;
{from_buff=readb(rS PRDAT)
copy_to_user(buffer , &from — buff , count) ; return count ; }
} .••;
在嵌入 Linux 系统的 ARM 处理器中,用户空间访问的只能是虚拟地址,所以为访问 控制器,需要通SPI
过 ioremap()函数将宏 rSPTDAT 映射为发送寄存器的虚拟地址, rSPTDAT —
iorema(0x59000010