本书介绍Linux环境下的编程方法,内容包括Linux系统命令、 Shell脚本、编程语言(gawk、Perl)、系统内核、安全体系、X Window等,内容丰富、论述全面,涵盖了Linux系统的方方面面。本书附带光盘包括了RedHat Linux系统的最新版本,及安装方法,还包括本书的大量程序代码,极大地方便了读者,为使用和将要使用Linux系统的技术人员提供了较全面的参考。 目 录前言第一篇 Linux系统介绍第1章 Linux简介 …11.1 Linux 的起源 11.2 自由软件基金会的GNU计划 11.3 Linux 的发音 21.4 Linux 的特点 21.5 基本硬件要求 31.6 如何获得Linux 31.6.1 从网上下载Linux 31.6.2 从光盘获得Linux 31.7 涉及Linux 的Web 网址和新闻讨论组 61.8 Linux 的不足之处 7第2章 外壳及常用命令 82.1 登录和退出 82.2 Linux 系统的外壳 82.3 外壳的常用命令 92.3.1 更改帐号密码 92.3.2 联机帮助 92.3.3 远程登录 92.3.4 文件或目录处理 92.3.5 改变工作目录 102.3.6 复制文件 102.3.7 移动或更改文件、目录名称 102.3.8 建立新目录 102.3.9 删除目录 112.3.10 删除文件 112.3.11 列出当前所在的目录位置 112.3.12 查看文件内容 112.3.13 分页查看文件内容 112.3.14 查看目录所占磁盘容量 112.3.15 文件传输 112.3.16 文件权限的设定 122.3.17 检查自己所属的工作组名称 132.3.18 改变文件或目录工作组所有权 132.3.19 改变文件或目录的最后修改时间 132.3.20 文件的链接 132.3.21 文件中字符串的查寻 142.3.22 查寻文件或命令的路径 142.3.23 比较文件或目录的内容 142.3.24 文件打印输出 142.3.25 一般文件的打印 142.3.26 troff 文件的打印 142.3.27 打印机控制命令 142.3.28 进程控制 152.3.29 外壳变量 162.3.30 环境变量 162.3.31 别名 162.3.32 历史命令 172.3.33 文件的压缩 172.3.34 管道命令的使用 172.3.35 输入/输出控制 182.3.36 查看系统中的用户 182.3.37 改变用户名 182.3.38 查看用户名 182.3.39 查看当前系统上所有工作站 的用户 192.3.40 与某工作站上的用户交谈 192.3.41 检查远程系统是否正常 192.3.42 电子邮件的使用简介 19第3章 Linux系统的网络功能 213.1 Linux支持的网络协议 213.1.1 TCP/IP 213.1.2 TCP/IP 版本 6 213.1.3 IPX/SPX 213.1.4 AppleTalk 协议集 213.1.5 广域网 223.1.6 ISDN 223.1.7 PPP、SLIP及PLIP 223.1.8 业余无线电 223.1.9 ATM 223.2 Linux系统下的文件共享和打印共享 223.2.1 Machintosh 环境 223.2.2 Windows 环境 223.2.3 Novell 环境 233.2.4 UNIX 环境 233.3 Linux系统中的Internet/Intranet功能 233.3.1 邮件 233.3.2 Web 服务器 243.3.3 Web 浏览器 243.3.4 FTP 服务器和客户机 243.3.5 新闻服务 243.3.6 域名系统 243.3.7 DHCP和 bootp 243.3.8 NIS 243.4 Linux系统下应用程序的远程执行 243.4.1 Telnet 253.4.2 远程命令 253.4.3 X Window 253.5 Linux系统的网络互连功能 253.5.1 路由器 253.5.2 网桥 253.5.3 IP伪装 253.5.4 IP统计 263.5.5 IP 别名 263.5.6 流量限制器 263.5.7 防火墙 263.5.8 端口下传 263.5.9 负载平衡 263.5.10 EQL 273.5.11 代理服务器 273.5.12 按需拨号 273.5.13 管道、移动IP和虚拟个人网络 273.6 Linux系统中的网络管理 273.6.1 Linux系统下的网络管理应用程序 273.6.2 SNMP 283.7 企业级Linux网络 283.7.1 高可用性 283.7.2 RAID 283.7.3 冗余网络 28第4章 Linux系统管理简介 294.1 root 帐号 294.2 启动和关闭系统 294.2.1 从软盘启动 294.2.2 使用LILO 启动 294.2.3 关闭Linux系统 304.3 挂接文件系统 304.3.1 挂接软盘 304.3.2 创建新的文件系统 304.3.3 卸载文件系统 314.4 检查文件系统 314.5 使用文件作为交换区 314.6 系统和文件的备份 324.7 设置系统 334.7.1 设置系统名 334.7.2 使用维护磁盘 334.7.3 重新设置root 帐号口令 334.7.4 设置登录信息 33第二篇 Linux高级语言及管理编程第5章 外壳编程 355.1 创建和运行外壳程序 355.1.1 创建外壳程序 355.1.2 运行外壳程序 355.2 使用外壳变量 365.2.1 给变量赋值 365.2.2 读取变量的值 375.2.3 位置变量和其他系统变量 375.2.4 引号的作用 375.3 数值运算命令 385.4 条件表达式 405.4.1 if 表达式 405.4.2 case 表达式 415.5 循环语句 425.5.1 for 语句 435.5.2 while 语句 435.5.3 until 语句 445.6 shift 命令 445.7 select 语句 455.8 repeat 语句 465.9 子函数 46第6章 gawk语言编程 486.1 gawk的主要功能 486.2 如何执行gawk程序 486.3 文件、记录和字段 486.4 模式和动作 496.5 比较运算和数值运算 506.6 内部函数 506.6.1 随机数和数学函数 516.6.2 字符串的内部函数 516.6.3 输入输出的内部函数 526.7 字符串和数字 526.8 格式化输出 526.9 改变字段分隔符 546.10 元字符 546.11 调用gawk程序 556.12 BEGIN和END 556.13 变量 566.14 内置变量 566.15 控制结构 576.15.1 if 表达式 576.15.2 while 循环 576.15.3 for 循环 586.15.4 next 和 exit 586.16 数组 586.17 用户自定义函数 586.18 几个实例 59第7章 Perl语言编程 607.1 什么是Perl 607.2 Perl的现状 607.3 初试Perl 607.4 Perl变量 607.4.1 标量 607.4.2 数组 637.4.3 相关数组 657.5 文件句柄和文件操作 657.6 循环结构 667.6.1 foreach循环 667.6.2 判断运算 667.6.3 for循环 677.6.4 while 和 until循环 677.7 条件结构 677.8 字符匹配 687.9 替换和翻译 697.9.1 替换 697.9.2 翻译 707.10 子过程 707.10.1 子过程的定义 707.10.2 参数 707.10.3 返回值 707.11 Perl程序的完整例子 71第三篇 Linux系统内核分析第8章 Linux内核简介 738.1 系统初始化 738.2 系统运行 738.3 内核提供的各种系统调用 748.3.1 进程的基本概念和系统 的基本数据结构 748.3.2 创建和撤消进程 748.3.3 执行程序 748.4 存取文件系统 75第9章 系统进程 769.1 什么是进程 769.2 进程的结构 769.3 进程调度 789.4 进程使用的文件 799.5 进程使用的虚拟内存 809.6 创建进程 819.7 进程的时间和计时器 819.7.1 实时时钟 819.7.2 虚拟时钟 819.7.3 形象时钟 819.8 程序的执行 829.8.1 ELF文件 829.8.2 脚本文件 82第10章 内存管理 8310.1 内存管理的作用 8310.2 虚拟内存的抽象模型 8310.3 按需装入页面 8410.4 交换 8510.5 共享虚拟内存 8510.6 存取控制 8510.7 高速缓存 8610.7.1 缓冲区高速缓存 8610.7.2 页面高速缓存 8610.7.3 交换高速缓存 8610.7.4 硬件高速缓存 8610.8 系统页面表 8610.9 页面的分配和释放 8710.9.1 页面的分配 8810.9.2 页面的释放 8810.10 内存映射 8810.11 请求调页 8910.12 页面高速缓存 8910.13 内核交换守护进程 90第11章 进程间通信 9111.1 信号机制 9111.2 管道机制 9211.3 System V IPC 机制 9311.3.1 信息队列 9311.3.2 信号量 9411.3.3 共享内存 96第12章 PCI 9812.1 PCI 系统 9812.2 PCI地址空间 9812.3 PCI设置头 9912.4 PCI I/O 和 PCI 内存地址 10012.5 PCI-ISA桥 10012.6 PCI-PCI 桥 10012.7 PCI初始化 10112.7.1 Linux系统内核有关PCI的 数据结构 10112.7.2 PCI 设备驱动程序 10212.7.3 PCI BIOS 函数 10512.7.4 PCI Fixup 105第13章 中断和中断处理 10613.1 中断 10613.2 可编程中断控制器 10613.3 初始化中断处理的数据结构 10713.4 中断处理 108第14章 设备驱动程序 10914.1 硬件设备的管理 10914.2 轮询和中断 11014.3 直接内存存取 11014.4 内存 11114.5 设备驱动程序和内核之间的接口 11114.5.1 字符设备 11214.5.2 块设备 11314.6 硬盘 11314.6.1 IDE 硬盘 11514.6.2 初始化IDE 硬盘子系统 11514.6.3 SCSI 硬盘 11514.6.4 初始化 SCSI 磁盘子系统 11614.6.5 传递块设备请求 11814.7 网络设备 11814.7.1 网络设备文件名 11814.7.2 总线信息 11814.7.3 网络接口标记 11914.7.4 协议信息 11914.7.5 初始化网络设备 119第15章 文件系统 12115.1 Linux文件系统概述 12115.2 ext2文件系统 12215.2.1 ext2的索引节点 12215.2.2 ext2超级块 12415.2.3 ext2 数据块组描述符 12415.2.4 ext2 中的目录 12515.2.5 在ext2 文件系统中查找文件 12515.2.6 改变ext2 文件系统中文件 的大小 12615.3 VFS 12715.3.1 VFS 超级块 12815.3.2 VFS 索引节点 12915.3.3 登记文件系统 12915.3.4 挂接文件系统 13015.3.5 在VFS中查找文件 13115.3.6 撤消文件系统 13115.3.7 VFS 索引节点缓存 13215.3.8 VFS目录缓存 13215.4 缓冲区缓存 13315.5 /proc 文件系统 135第16章 网络系统 13616.1 TCP/IP 网络简介 13616.2 TCP/IP网络的分层 13716.3 BSD 套接口 13816.4 INET套接口层 14016.4.1 创建BSD 套接口 14116.4.2 给INET BSD 套接口指定地址 14116.4.3 在INET BSD套接口上创建连接 14216.4.4 监听INET BSD 套接口 14216.4.5 接收连接请求 14316.5 IP 层 14316.5.1 套接口缓冲区 14316.5.2 接收IP数据包 14416.5.3 发送IP数据包 14416.5.4 数据碎片 14416.6 地址解析协议 145第17章 系统内核机制 14717.1 Bottom Half处理 14717.2 任务队列 14817.3 计时器 14917.4 等待队列 14917.5 信号量 150第四篇 Linux系统高级编程第18章 Linux内核模块编程 15118.1 一个简单程序Hello World 15118.2 设备文件 15218.3 /proc文件系统 15618.4 使用/proc输入 15818.5 与设备文件通信 16218.6 启动参数 16918.7 系统调用 17018.8 阻塞进程 17218.9 替换printk 17718.10 调度任务 178第19章 有关进程通信的编程 18119.1 进程间通信简介 18119.2 半双工UNIX管道 18119.2.1 基本概念 18119.2.2 使用C语言创建管道 18219.2.3 创建管道的简单方法 18519.2.4 使用管道的自动操作 18719.2.5 使用半双工管道时的注意事项 18819.3 命名管道 18819.3.1 基本概念 18819.3.2 创建FIFO 18819.3.3 FIFO操作 18919.3.4 FIFO的阻塞 19019.3.5 SIGPIPE信号 19019.4 System V IPC 19019.4.1 基本概念 19019.4.2 消息队列基本概念 19119.4.3 系统调用msgget() 19419.4.4 系统调用msgsnd() 19519.4.5 系统调用msgctl() 19719.4.6 一个msgtool的实例 19919.5 使用信号量编程 20119.5.1 基本概念 20119.5.2 系统调用semget() 20219.5.3 系统调用semop() 20319.5.4 系统调用semctl() 20419.5.5 使用信号量集的实例:semtool 20519.6 共享内存 20919.6.1 基本概念 20919.6.2 系统内部用户数据结构 shmid_ds 20919.6.3 系统调用shmget() 21019.6.4 系统调用shmat() 21119.6.5 系统调用shmctl() 21119.6.6 系统调用shmdt() 21219.6.7 使用共享内存的实例:shmtool 212第20章 高级线程编程 21520.1 线程的概念和用途 21520.2 一个简单的例子 21520.3 线程同步 21720.4 使用信号量协调程序 21820.5 信号量的实现 22020.5.1 Semaphore.h 22020.5.2 Semaphore.c 221第21章 Linux系统网络编程 22521.1 什么是套接口 22521.2 两种类型的Internet套接口 22521.3 网络协议分层 22521.4 数据结构 22521.5 IP地址和如何使用IP地址 22621.5.1 socket() 22621.5.2 bind() 22621.5.3 connect() 22721.5.4 listen() 22821.5.5 accept() 22821.5.6 send() 和 recv() 22921.5.7 sendto() 和 recvfrom() 23021.5.8 close() 和 shutdown() 23021.5.9 getpeername() 23121.5.10 gethostname() 23121.6 DNS 23121.7 客户机/服务器模式 23221.8 简单的数据流服务器程序 23221.9 简单的数据流客户机程序 23421.10 数据报套接口 23521.11 阻塞 237第22章 Linux I/O端口编程 24022.1 如何在 C 语言下使用I/O端口 24022.1.1 一般的方法 24022.1.2 另一个替代方法: /dev/port 24122.2 硬件中断 与 DMA 存取 24122.3 高精确的时间 24122.3.1 延迟时间 24122.3.2 时间的量测 24322.4 使用其他程序语言 24322.5 一些有用的 I/O 端口 24322.5.1 并行端口 24322.5.2 游戏端口 24422.5.3 串行端口 245第五篇 Linux系统安全分析第23章 系统管理员安全 24723.1 安全管理 24723.2 超级用户 24723.3 文件系统安全 24723.3.1 Linux文件系统概述 24723.3.2 设备文件 24823.3.3 /etc/mknod命令 24923.3.4 安全考虑 24923.3.5 find命令 25023.3.6 secure程序 25023.3.7 ncheck命令 25023.3.8 安装和拆卸文件系统 25023.3.9 系统目录和文件 25123.4 作为root运行的程序 25123.4.1 启动系统 25123.4.2 init进程 25123.4.3 进入多用户 25223.4.4 shutdown命令 25223.4.5 系统V的cron程序 25223.4.6 系统V版本2之后的cron程序 25223.4.7 /etc/profile 25323.5 /etc/passwd文件 25323.5.1 口令时效 25323.5.2 UID和GID 25423.6 /etc/group文件 25423.7 增加、删除和移走用户 25423.7.1 增加用户 25423.7.2 删除用户 25523.7.3 将用户移到另一个系统 25523.8 安全检查 25523.8.1 记帐 25523.8.2 其他检查命令 25623.8.3 安全检查程序的问题 25623.8.4 系统泄密后怎么办 25723.9 加限制的环境 25823.9.1 加限制的外壳 25823.9.2 用chroot()限制用户 25823.10 小系统安全 25923.11 物理安全 25923.12 用户意识 26023.13 系统管理员意识 26123.13.1 保持系统管理员个人的 登录安全 26123.13.2 保持系统安全 261第24章 系统程序员安全 26324.1 系统子程序 26324.1.1 I/O子程序 26324.1.2 进程控制 26324.1.3 文件属性 26424.1.4 UID和GID的处理 26524.2 标准C程序库 26524.2.1 标准I/O 26524.2.2 /etc/passwd的处理 26624.2.3 /etc/group的处理 26724.2.4 加密子程序 26824.2.5 运行外壳 26824.3 编写安全的C程序 26824.3.1 需要考虑的安全问题 26824.3.2 SUID/SGID程序指导准则 26924.3.3 编译、安装SUID/SGID程序 的方法 26924.4 root用户程序的设计 270第25章 Linux系统的网络安全 27225.1 UUCP系统概述 27225.1.1 UUCP命令 27225.1.2 uux命令 27225.1.3 uucico程序 27325.1.4 uuxqt程序 27325.2 UUCP的安全问题 27325.2.1 USERFILE文件 27325.2.2 L.cmds文件 27425.2.3 uucp登录 27425.2.4 uucp使用的文件和目录 27425.3 HONEYDANBER UUCP 27525.3.1 HONEYDANBER UUCP与 老UUCP的差别 27525.3.2 登录名规则 27625.3.3 MACHINE规则 27725.3.4 组合MACHINE和LOGNAME 规则 27825.3.5 uucheck命令 27825.3.6 网关 27825.3.7 登录文件检查 27925.4 其他网络 27925.4.1 远程作业登录 27925.4.2 NSC网络系统 28025.5 通信安全 28025.5.1 物理安全 28025.5.2 加密 28125.5.3 用户身份鉴别 28225.6 SUN OS系统的网络安全 28325.6.1 确保NFS的安全 28325.6.2 NFS安全性方面的缺陷 28425.6.3 远程过程调用鉴别 28425.6.4 Linux鉴别机制 28425.6.5 DES鉴别系统 28525.6.6 公共关键字的编码 28625.6.7 网络实体的命名 28625.6.8 DES鉴别系统的应用 28725.6.9 遗留的安全问题 28725.6.10 性能 28825.6.11 启动和setuid程序引起的问题 28825.6.12 小结 289第26章 Linux系统的用户安全性 29026.1 口令安全 29026.2 文件许可权 29026.3 目录许可 29126.4 umask命令 29126.5 设置用户ID和同组用户ID许可 29126.6 cp mv ln和cpio命令 29126.7 su和newgrp命令 29226.7.1 su命令 29226.7.2 newgrp命令 29226.8 文件加密 29226.9 其他安全问题 29326.9.1 用户的.profile文件 29326.9.2 ls -a 29326.9.3 .exrc文件 29326.9.4 暂存文件和目录 29326.9.5 UUCP和其他网络 29326.9.6 特洛伊木马 29426.9.7 诱骗 29426.9.8 计算机病毒 29426.9.9 要离开自己已登录的终端 29426.9.10 智能终端 29426.9.11 断开与系统的连接 29426.9.12 cu命令 29526.10 保持帐户安全的要点 295第六篇 X window系统的内部结构和使用第27章 X Window系统的基本知识 29727.1 X Window系统介绍 29727.1.1 X的特点 29727.1.2 什么是窗口系统 29827.1.3 X发展的历史 29927.1.4 X的产品 29927.1.5 MIT发行的X 29927.2 X的基本结构 30227.2.1 X 的基本元素 30327.2.2 服务程序和客户程序如何 交互通信 30427.2.3 X 的网络概况 30627.3 从用户界面的角度概观X 30727.3.1 管理界面:窗口管理器 30727.3.2 应用程序界面和工具箱 30927.3.3 其他系统角度 30927.4 术语和符号 31027.4.1 术语 31027.4.2 符号 31127.5 启动和关闭X 31227.5.1 启动X 31227.5.2 执行X程序的方式 31327.5.3 关闭X 31427.6 窗口管理器基础—uwm 31527.6.1 什么是窗口管理器 31527.6.2 启动uwm 31527.6.3 基本窗口操作 —uwm 的菜单 31527.6.4 移动窗口 31627.6.5 重定窗口大小 31627.6.6 建立新窗口 31627.6.7 管理屏幕空间 31827.6.8 中止应用程序窗口 32027.6.9 激活uwm菜单的其他方式 32027.7 使用 x的网络设备 32027.7.1 指定远程终端机—display 选项 32127.7.2 实际使用远程的显示器 32227.7.3 控制存取显示器—xhost 32227.8 终端机模拟器—详细介绍xterm 32327.8.1 选择xterm功能—菜单与 命令行选项 32327.8.2 滚动xterm屏幕 32427.8.3 记录与终端机的交互过程—写 记录 32527.8.4 剪贴文本 32527.8.5 使用Tektronix模拟功能 32627.8.6 使用不同的字体 32727.8.7 使用颜色 32727.8.8 其他xterm选项 32727.8.9 设定终端机键盘 328第28章 实用程序和工具 32928.1 实用程序 32928.2 保存、显示和打印屏幕图像 33028.3 使用X的应用程序 33228.3.1 文字编辑器—Xedit 33328.3.2 邮件/信息处理系统—xmh 33628.4 示例和游戏程序 33628.4.1 找出通过随机迷宫的 路径—maze 33628.4.2 担任鼠标指针的大眼睛— xeyes 33628.4.3 智慧盘游戏—puzzle 33728.4.4 打印一个大X标志—xlogo 33728.4.5 跳动的多面体—ico 33728.4.6 动态几何图案—muncher与 plaid 33728.7 显示信息和状态的程序 33728.7.1 列出X服务程序的特征— xdpyinfo 33828.7.2 获取有关窗口的信息 33828.7.3 观察X的事件—xev 340第29章 定制X Window系统 34129.1 使用X的字体和颜色 34129.1.1 字体初步 34129.1.2 字体命名 34229.1.3 观察特定字体的内容—xfd 34329.1.4 保存字体和位置 34329.1.5 例子:在你的服务程序中 增加新字体 34529.1.6 使用X的颜色 34629.2 定义和使用图形 34729.2.1 系统图形程序库 34729.2.2 交互编辑图形—bitmap 34729.2.3 编辑图形的其他方法 34929.2.4 定制根窗口—xsetroot 34929.3 定义应用程序的缺省选项— Resources 35029.3.1 什么是资源 35029.3.2 XToolkit 35129.3.3 管理资源—资源管理器 35329.3.4 资源的类型—如何指定值 35829.4 实际使用资源 35929.4.1 在何处保存资源的缺省值 35929.4.2 在服务程序上保存缺省值— xrdb 36329.4.3 常见的错误和修正 36629.5 定制键盘和鼠标 36729.5.1 实际使用转换 36829.5.2 转换—格式和规则 37429.5.3 转换规范中常见的问题 37729.6 键盘和鼠标—对应和参数 37929.6.1 键盘和鼠标映射—xmodmap 37929.6.2 键盘和鼠标参数设定—xset 38229.7 进一步介绍和定制uwm 38429.7.1 uwm的新特征 38429.7.2 定制uwm 38629.8 显示器管理器—xdm 39029.8.1 需要做些什么 39029.8.2 xdm 39129.8.3 xdm的更多信息 39229.8.4 uwm配置 395附录A Gcc使用介绍 396附录B 安装X Window窗口系统 410
上传时间: 2013-11-10
上传用户:changeboy
核心板配置 核心板配置癿FPGA芯片是Cyclone II系列癿EP2C8Q208C,具有8256个LEs,36个M4K RAM blocks (4Kbits plus 512 parity bits),同时具有165,888bit癿RAM,支持18个Embedded multipliers和2个PLL,资源配备十分丰富。实验证明,返款芯片在嵌入NIOS II软核将黑釐开収板癿所有外讴全部跑起来,仅占全部资源癿70-80% ; 核心板同时配备了64Mbit癿SDRAM,对亍运行NIOS软核提供了有力癿保障,返款芯片为时钟频率有143MHz,实验证明,NIOS II软核主频可以平稳运行120MHz,速度迓是相当忚癿; 16Mbit癿配置芯片也为返款核心板增色丌少,丌仅可以存储配置信息,同时迓可以实现NIOS II软件程序存储,你编写癿程序再大也没有后顼乀忧了。 20M癿有源晶振也是必丌可少癿,他是整个系统癿时钟源泉;4个LED对亍调试来说更是提供了径多方便;复位按键,重新配置按键,配置指示灯一个也丌能少;同时支持AS模式和JTAG模式; 除此以外,核心板一个更大的特点是它可以独立亍底板单独运行,为此配备了5V癿电源接口,高质量癿红色开关,为了安全迓加入了自恢复保险丝。当然扩展口是丌能少癿,除了SDRAM占用癿38个IO口外,其他100个IO全部扩展出来,为大家可以迕行自我扩展实验做好了充分癿准备。 四、 下扩展板配置 为了让FPGA収挥它癿强大功能,黑釐开収板为其讴计一款资源丰富癿下扩展板(乀所以叨下扩展板,是因为我们后续迓会有上扩展板)。下面我们就来简单介终一下下扩展板癿资源配置。 支持网络功能,配置ENC28J60网口芯片。ENC28J60是Microchip Technology(美国微芯科技公司)推出癿28引脚独立以太网控刢器。目前市场上大部分以太网控刢器癿封装均赸过80引脚,而符吅IEEE 802.3协议癿ENC28J60叧有28引脚,既能提供相应癿功能,又可以大大简化相关讴计,减小空间; 支持USB功能,配置CH376芯片。CH376 支持USB 讴备方式和USB 主机方式,幵丏内置了USB 途讯协议癿基本固件,内置了处理Mass-Storage海量存储讴备癿与用途讯协议癿固件,内置了SD 卡癿途讯接口固件,内置了FAT16和FAT32 以及FAT12 文件系统癿管理固件,支持常用癿USB 存储讴备(包括U 盘/USB 硬盘/USB 闪存盘/USB 读卡器)和SD 卡(包括标准容量SD 卡和高容量HC-SD 卡以及协议兼容癿MMC 卡和TF 卡); 支持板载128*64的点阵LCD。ST7565P控刢芯片,内置DC/DC电路,途过软件调节对比度。该芯片支持,幵口和串口丟种方式;
上传时间: 2013-11-23
上传用户:ouyangtongze
LPC1700系列Cortex-M3微控制器用于处理要求高度集成和低功耗的嵌入式应用。ARM Cortex-M3是下一代新生内核,它可提供系统增强型特性,例如现代化调试特性和支持更高级别的块集成。LPC1700系列Cortex-M3微控制器的操作频率可达100MHz。ARM Cortex-M3 CPU具有3级流水线和哈佛结构,带独立的本地指令和数据总线以及用于外设的稍微低性能的第三条总线。ARM Cortex-M3 CPU还包含一个支持随机跳转的内部预取指单元。LPC1700系列Cortex-M3微控制器的外设组件包含高达512KB的Flash存储器、64KB的数据存储器、以太网MAC、USB主机/从机/OTG接口、8通道的通用DMA控制器、4个UART、2条CAN通道、2个SSP控制器、SPI接口、3个I2C接口、2-输入和2-输出的I2S接口、8通道的12位ADC、10位DAC、电机控制PWM、正交编码器接口、4个通用定时器、6-输出的通用PWM、带独立电池供电的超低功耗RTC和多达70个的通用I/O管脚
上传时间: 2013-10-16
上传用户:icarus
虚拟仪器(virtual instrumention)是基于计算机的仪器。计算机和仪器的密切结合是目前仪器发展的一个重要方向。粗略地说这种结合有两种方式,一种是将计算机装入仪器,其典型的例子就是所谓智能化的仪器。随着计算机功能的日益强大以及其体积的日趋缩小,这类仪器功能也越来越强大,目前已经出现含嵌入式系统的仪器。另一种方式是将仪器装入计算机。以通用的计算机硬件及操作系统为依托,实现各种仪器功能。虚拟仪器主要是指这种方式。下面的框图反映了常见的虚拟仪器方案。 虚拟仪器的主要特点有: n 尽可能采用了通用的硬件,各种仪器的差异主要是软件。 n 可充分发挥计算机的能力,有强大的数据处理功能,可以创造出功能更强的仪器。 n 用户可以根据自己的需要定义和制造各种仪器。 虚拟仪器实际上是一个按照仪器需求组织的数据采集系统。虚拟仪器的研究中涉及的基础理论主要有计算机数据采集和数字信号处理。目前在这一领域内,使用较为广泛的计算机语言是美国NI公司的labview。 虚拟仪器的起源可以追朔到20世纪70年代,那时计算机测控系统在国防、航天等领域已经有了相当的发展。PC机出现以后,仪器级的计算机化成为可能,甚至在Microsoft公司的Windows诞生之前,NI公司已经在Macintosh计算机上推出了labview2.0以前的版本。对虚拟仪器和labview长期、系统、有效的研究开发使得该公司成为业界公认的权威。 普通的PC有一些不可避免的弱点。用它构建的虚拟仪器或计算机测试系统性能不可能太高。目前作为计算机化仪器的一个重要发展方向是制定了VXI标准,这是一种插卡式的仪器。每一种仪器是一个插卡,为了保证仪器的性能,又采用了较多的硬件,但这些卡式仪器本身都没有面板,其面板仍然用虚拟的方式在计算机屏幕上出现。这些卡插入标准的VXI机箱,再与计算机相连,就组成了一个测试系统。VXI仪器价格昂贵,目前又推出了一种较为便宜的PXI标准仪器。 虚拟仪器研究的另一个问题是各种标准仪器的互连及与计算机的连接。目前使用较多的是IEEE 488或GPIB协议。未来的仪器也应当是网络化的。
上传时间: 2013-10-15
上传用户:gaoliangncepu
笔者认为,论坛里除了要适应当前国内有线电视发展形势的需要,把重点放在数字电视和多功能开发方面之外,对模拟电视基础知识、特别是对模拟电视知识的更新方面亦要有一定程度的重视,所以特地把自己发表在省级及省级以上广播电视技术刊物上的70多篇论文的相关内容,以及发表在“中国有线电视技术论坛”上的3300多个帖子中的相关内容,整理汇编成《有线模拟电视基础知识新编》.
上传时间: 2013-12-23
上传用户:zl520l
温湿度传感器 sht11 仿真程序 sbit out =P3^0; //加热口 //sbit input =P1^1;//检测口 //sbit speek =P2^0;//报警 sbit clo =P3^7;//时钟 sbit ST =P3^5;//开始 sbit EOC =P3^6;//成功信号 sbit gwei =P3^4;//个位 sbit swei =P3^3;//十位 sbit bwei =P3^2;//百位 sbit qwei =P3^1;//千位 sbit speak =P0^0;//报警音 sbit bjled =P0^1;//报警灯 sbit zcled =P0^2;//正常LED int count; uchar xianzhi;//取转换结果 uchar seth;//高时间 uchar setl;//低时间 uchar seth_mi;//高时间 uchar setl_mi;//低时间 bit hlbz;//高低标志 bit clbz; bit spbz; ///定时中断程序/// void t0 (void) interrupt 1 using 0 { TH0=(65536-200)/256;//5ms*200=1000ms=1s TL0=(65536-200)%256; clo=!clo;//产生时钟 if(count>5000) { if(hlbz) { if(seth_mi==0){seth_mi=seth;hlbz=0;out=0;} else seth_mi--; } if(!hlbz) { if(setl_mi==0){setl_mi=setl;hlbz=1;out=1;} else setl_mi--; } count=0; } else count++; } ///////////// ///////延时/////// delay(int i) { while(--i); } ///////显示处理/////// xianshi() { int abcd=0; int i; for (i=0;i<5;i++) { abcd=xianzhi; gwei=1; swei=1; bwei=1; qwei=1; P1=dispcode[abcd/1000]; qwei=0; delay(70); qwei=1; abcd=abcd%1000; P1=dispcode[abcd/100]; bwei=0; delay(70); bwei=1; abcd=abcd%100; P1=dispcode[abcd/10]; swei=0; delay(70); swei=1; abcd=abcd%10; P1=dispcode[abcd]; gwei=0; delay(70); gwei=1; } } doing() { if(xianzhi>100) {bjled=0;speak=1;zcled=1;} else {bjled=1;speak=0;zcled=0;} } void main(void) { seth=60;//h60秒 setl=90;//l90秒 seth_mi=60;//h60秒 setl_mi=90;//l90秒 TMOD=0X01;//定时0 16位工作模式 TH0=(65536-200)/256; TL0=(65536-200)%256; TR0=1; //开始计时 ET0=1; //开定时0中断 EA=1; //开全中断 while(1) { ST=0; _nop_(); ST=1; _nop_(); ST=0; // EOC=0; xianshi(); while(!EOC) { xianshi(); } xianzhi=P2; xianshi(); doing(); } }
上传时间: 2013-11-07
上传用户:我们的船长
Altera DE2-70 开发板介绍的中文翻译,你能看得懂!
上传时间: 2013-10-09
上传用户:txfyddz
详细介绍了目前各种电子元器件的封装类型
上传时间: 2013-10-26
上传用户:JamesB
PCB Layout Rule Rev1.70, 規範內容如附件所示, 其中分為: (1) ”PCB LAYOUT 基本規範”:為R&D Layout時必須遵守的事項, 否則SMT,DIP,裁板時無法生產. (2) “錫偷LAYOUT RULE建議規範”: 加適合的錫偷可降低短路及錫球. (3) “PCB LAYOUT 建議規範”:為製造單位為提高量產良率,建議R&D在design階段即加入PCB Layout. (4) ”零件選用建議規範”: Connector零件在未來應用逐漸廣泛, 又是SMT生產時是偏移及置件不良的主因,故製造希望R&D及採購在購買異形零件時能顧慮製造的需求, 提高自動置件的比例.
上传时间: 2013-11-03
上传用户:tzl1975
磁芯电感器的谐波失真分析 摘 要:简述了改进铁氧体软磁材料比损耗系数和磁滞常数ηB,从而降低总谐波失真THD的历史过程,分析了诸多因数对谐波测量的影响,提出了磁心性能的调控方向。 关键词:比损耗系数, 磁滞常数ηB ,直流偏置特性DC-Bias,总谐波失真THD Analysis on THD of the fer rite co res u se d i n i nductancShi Yan Nanjing Finemag Technology Co. Ltd., Nanjing 210033 Abstract: Histrory of decreasing THD by improving the ratio loss coefficient and hysteresis constant of soft magnetic ferrite is briefly narrated. The effect of many factors which affect the harmonic wave testing is analysed. The way of improving the performance of ferrite cores is put forward. Key words: ratio loss coefficient,hysteresis constant,DC-Bias,THD 近年来,变压器生产厂家和软磁铁氧体生产厂家,在电感器和变压器产品的总谐波失真指标控制上,进行了深入的探讨和广泛的合作,逐步弄清了一些似是而非的问题。从工艺技术上采取了不少有效措施,促进了质量问题的迅速解决。本文将就此热门话题作一些粗浅探讨。 一、 历史回顾 总谐波失真(Total harmonic distortion) ,简称THD,并不是什么新的概念,早在几十年前的载波通信技术中就已有严格要求<1>。1978年邮电部公布的标准YD/Z17-78“载波用铁氧体罐形磁心”中,规定了高μQ材料制作的无中心柱配对罐形磁心详细的测试电路和方法。如图一电路所示,利用LC组成的150KHz低通滤波器在高电平输入的情况下测量磁心产生的非线性失真。这种相对比较的实用方法,专用于无中心柱配对罐形磁心的谐波衰耗测试。 这种磁心主要用于载波电报、电话设备的遥测振荡器和线路放大器系统,其非线性失真有很严格的要求。 图中 ZD —— QF867 型阻容式载频振荡器,输出阻抗 150Ω, Ld47 —— 47KHz 低通滤波器,阻抗 150Ω,阻带衰耗大于61dB, Lg88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB Ld88 ——并联高低通滤波器,阻抗 150Ω,三次谐波衰耗大于61dB FD —— 30~50KHz 放大器, 阻抗 150Ω, 增益不小于 43 dB,三次谐波衰耗b3(0)≥91 dB, DP —— Qp373 选频电平表,输入高阻抗, L ——被测无心罐形磁心及线圈, C ——聚苯乙烯薄膜电容器CMO-100V-707APF±0.5%,二只。 测量时,所配用线圈应用丝包铜电磁线SQJ9×0.12(JB661-75)在直径为16.1mm的线架上绕制 120 匝, (线架为一格) , 其空心电感值为 318μH(误差1%) 被测磁心配对安装好后,先调节振荡器频率为 36.6~40KHz, 使输出电平值为+17.4 dB, 即选频表在 22′端子测得的主波电平 (P2)为+17.4 dB,然后在33′端子处测得输出的三次谐波电平(P3), 则三次谐波衰耗值为:b3(+2)= P2+S+ P3 式中:S 为放大器增益dB 从以往的资料引证, 就可以发现谐波失真的测量是一项很精细的工作,其中测量系统的高、低通滤波器,信号源和放大器本身的三次谐波衰耗控制很严,阻抗必须匹配,薄膜电容器的非线性也有相应要求。滤波器的电感全由不带任何磁介质的大空心线圈绕成,以保证本身的“洁净” ,不至于造成对磁心分选的误判。 为了满足多路通信整机的小型化和稳定性要求, 必须生产低损耗高稳定磁心。上世纪 70 年代初,1409 所和四机部、邮电部各厂,从工艺上改变了推板空气窑烧结,出窑后经真空罐冷却的落后方式,改用真空炉,并控制烧结、冷却气氛。技术上采用共沉淀法攻关试制出了μQ乘积 60 万和 100 万的低损耗高稳定材料,在此基础上,还实现了高μ7000~10000材料的突破,从而大大缩短了与国外企业的技术差异。当时正处于通信技术由FDM(频率划分调制)向PCM(脉冲编码调制) 转换时期, 日本人明石雅夫发表了μQ乘积125 万为 0.8×10 ,100KHz)的超优铁氧体材料<3>,其磁滞系数降为优铁
上传时间: 2013-12-15
上传用户:天空说我在