当前位置:文档之家› application note_communication via sub bus for PCH1026MK2-CHF4014-UK13

application note_communication via sub bus for PCH1026MK2-CHF4014-UK13

Application Note for

Communication via SubBus

for

Digital Windturbine

Structural Vibration Monitor

Type PCH 1026 Mk2

Covers the following interfaces:

üModBus RS232 / RS485

üCAN Open

CAN

Profibus DP

Devicenet

Interbus

Application note CHF 4014 UK revision 13

1st of November 2006

This Application note is for PCH 1026 firmware with Compatibility code: 600

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Trademarks

FlexMON is a registered trademark of PCH Engineering A/S.

All other trademarks and product names are property of their respective owners.

Copyright

Copyright ? 2005, PCH Engineering A/S. All rights reserved. No part of this Application

Note may be reproduced or redistributed in any form or by any means without consent in

writing from:

PCH Engineering A/S

Ved Klaedebo 9

DK - 2970 Horsholm

Denmark

Phone : (+45) 45 76 87 76

Fax : (+45) 45 76 87 02

i-net : www.pch-engineering.dk

e-mail : pch@pch-engineering.dk

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Contents

1.Introduction...................................................................................................1–1 1.1 Notation........................................................................................................................1–1 1.2 General..........................................................................................................................1–2 1.3 Output on the SubBus...................................................................................................1–3

1.3.1Vibration.....................................................................................................................1–3

1.3.2Process and Speed......................................................................................................1–3

1.3.3Status and Alarms.......................................................................................................1–3 1.4 SelfTest.........................................................................................................................1–4 1.5 Communicating via ModBus (RS232 / RS485)...........................................................1–4 1.6 Communicating via CANopen......................................................................................1–4 1.7 Communicating via CAN.............................................................................................1–4 1.8 Communicating via Profibus DP..................................................................................1–4 1.9 Communicating via Devicenet......................................................................................1–4

1.10 Communicating via Interbus.........................................................................................1–5

2.Connecting to an Interface...........................................................................2–6 2.1 Electrical connection to RS232/RS485.........................................................................2–6 2.2 Electrical connection to CANopen...............................................................................2–6

2.2.1CANopen LED Indicators..........................................................................................2–6

2.2.2CANopen 9 Pin Sub-D (male) connector...................................................................2–7

2.2.3Supported Baud rates..................................................................................................2–7

3.Set-up of MultiBus interface........................................................................3–8 3.1 Which Fieldbus is implemented at the MultiBus board...............................................3–8

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?III

3.2 Configuration dependent settings.................................................................................3–8

3.2.1Use MultiBus as RS485..............................................................................................3–8

3.2.2Use MultiBus as CAN / CANopen.............................................................................3–8

3.2.3Use MultiBus as Profibus DP.....................................................................................3–9

3.2.4Use MultiBus as Devicenet........................................................................................3–9

3.2.5Use MultiBus as Interbus...........................................................................................3–9

4.Getting data from the Monitor..................................................................4–10 4.1 Monitor is Slave..........................................................................................................4–10

4.2 How and when are data available at the SubBus........................................................4–10

5.Results as integer or float...........................................................................5–11 5.1 Interpreting the results................................................................................................5–11

5.1.1The Scale factor is a float (real) split into two Words (registers)............................5–12

6.Reading via ModBus...................................................................................6–13

7.Reading via CANopen.................................................................................7–14

7.1.1Output data from monitor is divided into 4 different PDOs.....................................7–14

7.1.2Input data to monitor in PDO 5................................................................................7–15

7.1.3Relevant PDOs can be enabled / disabled................................................................7–16

7.1.4Interpreting the measurement results from PDOs 1, 2 and 3...................................7–16

7.1.5Interpreting Status and Alarms from PDO 4 Index [0], [1] and [2]........................7–16

7.1.6PDO order and timing..............................................................................................7–17

7.1.7PDO byte and word size...........................................................................................7–17

8.Appendix A (registers)...............................................................................8–18 8.1 MultiBus Set-up registers...........................................................................................8–18 8.2 SubBus Input-/Output- registers.................................................................................8–18

8.2.1Overview of SubBus registers.................................................................................8–19

8.2.2Input to monitor........................................................................................................8–20 __________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

8.2.3Output Status and Alarms.........................................................................................8–20

8.2.4Output Measurement level.......................................................................................8–21

8.2.5x-registers, combined Units and Active-/Not Active- Status...................................8–22

8.2.6Scaling registers........................................................................................................8–24

9.Appendix B (unit enumeration).................................................................9–25 9.1 Unit enumeration for Vibration..................................................................................9–25 9.2 Unit enumeration for Process (not implemented).......................................................9–26

9.3 Unit enumeration for Speed Sensor (not implemented).............................................9–26

10.Appendix C (CANopen)........................................................................10–27 10.1 CANopen data layout................................................................................................10–27

10.2 CHT 1024 CANopen parameter set-up.....................................................................10–28

11.Index........................................................................................................11–29

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?V

1. Introduction

1.1 Notation

! Text marked with this symbol indicates potential pitfalls.

When a register value is referred to from a register Page the font used are e.g. Full Scale

Level, and the register can be found in Appendix A.

Hex numbers are denoted with 0x before the number i.e. 80 hex ~ 0x80.

When bits are referred, ‘bit 0’ is the lowest and ‘bit 15’ the highest bit in a word.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

1.2 General

Figure 1-1 Showing that all input/output registers can be accessed from the main ModBus interface but only

a subset (SubBus) can be accessed from the MultiBus (Fieldbus) interface

The FlexMON?Digital Vibration Monitor PCH 1026 is equipped with a set of registers

called SubBus registers. These registers are meant for an easy and fast option to get

essential status and selected results from the monitor.

When the term MultiBus (Hardware) is used, it covers all the different optional

interfaces, and when individual behaviour is related to an interface, its name is used (e.g.

CANopen).

It is possible to configure the MultiBus interface via the ModBus interface from a PLC or

other similar equipment, but the most consistent way to set up everything around the

SubBus/MultiBus is with the Control Program CHT 1024.

! Values will only be present at the SubBus if the PCH 1026 monitor has been or is

in Measuring State, this prevents false readings.

! Only results defined in the SubBus area are available at the MultiBus interface (the

installed Fieldbus).

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

1.3 Output on the SubBus

1.3.1 Vibration

Vibration measurement results (scalars from detector) are available on the SubBus,

always in the order 1-12 (12 is the overall numbers of bands). The address location of a

specific band does not change in relation to enabled bands. For each of the 12 bands

there is the following registers (words)

- Vibration level, 1 word (normalised integer 0 – 215 ~ 0 – 32768)

- X-register, 1 word, including measurement unit [m/s2,g,..] and Active/not Active

- Scale factor, 2 words, floating point value

Only the first register (Vibration level) needs to be read continuously as it changes

dynamically. The last 2 registers need only to be read once as they are static, and change

only after a new parameter setup.

See Appendix A (registers) 8.2.1 Overview of SubBus registers

See also 5.1 Interpreting the results

1.3.2 Process and Speed

Planed 1 speed- and 6 process registers (not implemented yet).

1.3.3 Status and Alarms

Four words (4 * 16 bit) are reserved to signal on/off for different status and Alarm

information. The following Status and alarm registers are present:

- Optimized Status

- Danger Alarm (band12..1)

- Alert Alarm (band12..1)

- Process Alarm (Ch. 6..1) - Not implemented yet

The Optimized Status register includes 16 selected status information’s. Outside the

SubBus range there will be access to more detailed status. But we think that the chosen

status information’s are enough and relevant in most cases.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?1–3

1.4 SelfTest

Furthermore it is possible to set up individual values and status to be forced to the

SubBus in case of Self Test.

1.5 Communicating via ModBus (RS232 / RS485)

All registers can be accessed via the monitors ModBus interface. The ModBus interface

includes a Address range referred to as SubBus. Registers in the SubBus area are also

available on the MultiBus interface (CANopen, Profibus, InterBus ,..) See Figure 1-1

This Application note mainly deals with SubBus, MultiBus and CANopen. Refer to PCH

Engineering A/S for more information on all available ModBus registers.

1.6 Communicating via CANopen

According to the CANopen standard, CIA DS301 revision 4.

All the data from the SubBus can be transmitted on the CANopen interface including

measurement results, Alarms and Status. Also 10ms samplerate RAW ac is available on

the CANopen (RAW is not available on the SubBus)

Refer to Appendix C (CANopen) 10.1 CANopen data layout

1.7 Communicating via CAN

Waiting for a demand to be implemented.

1.8 Communicating via Profibus DP

Waiting for a demand to be implemented.

1.9 Communicating via Devicenet

Waiting for a demand to be implemented.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

1.10 Communicating via Interbus

Waiting for a demand to be implemented.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?1–5

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 2.

Connecting to an Interface

2.1 Electrical connection to RS232/RS485

This connection is covered in detail in the main manual for the PCH 1026.

2.2 Electrical connection to CANopen

The PCH 1026 monitor can optionally be supplied with a MultiBus/CANopen interface board.

Figure 2-1 Right side panel with a 9 Pin Sub-D (male) connector to the CANopen interface.

2.2.1 CANopen LED Indicators

See Figure 2-1 above for the LED indicators

Run : Green, In norm operation: steady, In preoperational and Error mode: Blinking

Error : Red, In norm and preoperational: off, In Error mode: Blinking

Data : Green, In norm operation: blinking, In settling mode: steady

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ?2–7

2.2.2

CANopen 9 Pin Sub-D (male) connector

2.2.3 Supported Baud rates

20, 50, 100, 125, 250, 500, 800 and 1000 kBaud

The Baudrate can be setup from PC program CHT 1024 see Appendix C (CANopen) 10.2 CHT 1024 CANopen parameter set-up

3. Set-up of MultiBus interface

3.1 Which Fieldbus is implemented at the MultiBus board

When the PCH 1026 is supplied with a MultiBus board, a Fieldbus interface is selected

among Profibus, CAN, CANopen, Devicenet or Interbus. Furthermore a secondary

Modbus/RS485 can be added.

The first two registers, MultiBus Type Mounted and Secondary RS485 Supported

indicate the actual configuration of the MultiBus board.

Some parameters must be set-up in order to get the MultiBus interface running. The

MultiBus interface can only be set-up from the main ModBus RS232/RS485 interface

either from Control Program CHT 1024 or at low level by accessing the ModBus

registers.

For further information on register content, see8.1 MultiBus Set-up registers in

Appendix A (registers)

3.2 Configuration dependent settings

3.2.1 Use MultiBus as RS485

The ModBus Address can be set from 1 to 247. (Default: 1)

The baud rate can be set between 300 and 38400 baud ~ [0..7] (Default: 38400)

3.2.2 Use MultiBus as CAN / CANopen

To run the monitor in a CANopen network, it is necessary to set the Node Address so it

will not conflict with other components on the same segment of the bus. This is easily

done by Control program CHT 1024 or other equipment with ModBus access via RS232

or RS485.

The Node Address can be set to a value between 1 and 126. (Default: 12)

The Baudrate must also be set, 0..8 ~ [10k,,1000] kBaud

Note !!! After changing the Baudrate the Monitor must restarted (Power off/on)

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ ?3–9

3.2.3 Use MultiBus as Profibus DP

Tbd. 3.2.4 Use MultiBus as Devicenet

Tbd.

3.2.5 Use MultiBus as Interbus

Tbd.

待讨论

4. Getting data from the Monitor

4.1 Monitor is Slave

With respect to most bus types the Monitor will act as a Slave. It means that the monitor

itself will not send out data on any of the busses unless it is asked to do so. It is also up to

the Master in charge to specify what kind of data the monitor has to use for its response.

In busses like CAN/CANopen the monitor is not considered as a Slave as it will transmit

data autonomously, based on internal trigger events.

4.2 How and when are data available at the SubBus

! The appearance of data (status and measurement values) depends on the state(s) of

the monitor as follows:

? No data at all are present at the SubBus unless the monitor is or has been in Monitoring State.

? If data are present, it is either measuring data or test data in case of Self Test State. In case of Self Test, the predefined test status and test result values will

appear at the SubBus together with unchanged x-registers and Scale factors.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

5. Results as integer or float

5.1 Interpreting the results

! This description is essential for the understanding of, and interpretation, of the

SubBus registers and is general for all the electrical interfaces.

! All Vibration, Process, and Speed Sensor measurement results are a combination

of three corresponding registers: The Measurement integer, Scale factor and the x-

register.

The interpretation takes the x-register as guide to “what to do”.

If bit 15 is set in x-register for Scalar Selection, the measurement is active, otherwise

there is no connection to this value index and no result will occur.

The interpretation is easily done from bit 15 down to bit 8 according to this table:

For further explanation of the bits in the x-register see 8.2.5.1 The x-register is a

combined extension Word in Appendix A (registers) and Appendix B for the

enumeration tables.

Real vibration level = Vibration level * Scale factor [unit inherent in the x-register]

Measurement values read from the SubBus are basically an integer (in the range 0..32767

- normalised) The real measurement value appears when the integer value is multiplied

with the scale factor. The integer can be used directly, with implicit knowledge of the

value range, or it can be converted to a float. The conversion can be performed by the

Master or by some of the interfaces with this capability. The choice of use should be

decided out of knowledge of the PLC or control unit that have to process and evaluate the

values.

Note to CANopen ! the integer value known above as Vibration level correspond to the

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?5–11

CANopen data layout as RAW 1 to 4 and BAND 1 to 12

Furthermore there is information in the x-register that informs about the specific

selection: Is the measurement active, and what kind of measurement is it.

5.1.1 The Scale factor is a float (real) split into two Words (registers)

bit No.

Above is shown the distribution of bits in a high and a low register. The float is a 32 bit

float encoded according to ANSI/IEEE Standard 754-1985 for Single precision

floating point, which gives this range: 1.5 * 10–45 to 3.4 * 1038

! When a float is transmitted as two Words, the order of high register and low

register is bus specific!

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

6. Reading via ModBus

The SubBus is accessible from the main RS232/RS485.

A way to handle the SubBus from the ModBus is reading all the x-registers and scaling

registers and store these, then repeat the reading of status and measurement registers.

After each reading of the measurement registers, a calculation can be performed.

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

?6–13

__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________ 7.

Reading via CANopen

See Appendix C (CANopen) 10.1 CANopen data layout

7.1.1 Output data from monitor is divided into 4 different PDOs

PDO 1: RAW 1 to 4 (Raw AC, 10 ms sampling rate, Aliasing free, Band with max 35Hz)

RAW value range: -32768 = RAW = 32767 (2s Complemet signed integer)

PDO 2 : BAND 1 to 4 ( Scalar value from detector, 100 ms update rate )

BAND value range: 0 = BAND = 32767 (unsigned Integer)

PDO 3: Multiplexed, Scalar values from detector, 100 ms update rate

- BAND 5 to 12, Multiplexed Index[0] to [2], Index[2] also includes Speed (Tacho)

- PROCESS 1 to 6, Multiplexed Index[3] and [4], not implemented Yet

Note ! Above figure is part of PDO 3, shows only index [0]

PDO 4: Multiplexed Index[0] to [25], Status, Alarm and Scaling factors

for Vibration, Process, Raw and Speed

Note ! this figure is part of PDO 4, shows only index [0] to [3]

For interpretation of measurements, x-register and Scale factor see 5.1 Interpreting the results.

For interpretation of bits see 8.2.3 Output Status and Alarms

Note ! when monitor parameters have been changed from CHT 1024 software or direct on the ModBus interface, the monitor will automatically retransmit all PDO 4s, also the PLC can force the monitor to retransmit PDO 4, see 7.1.2 Input data to monitor in PDO 5

电脑配件与每个配件作用详细完整的解释

电脑配件与每个配件作用详细完整的解释 脑配件与每个配件作用详细完整的解释 电脑配件 09-12-03 匿名提问发布 1个回答 时间 投票0 chenbingyu2   电脑各配件的具体功能和特性说起来很长,先简单介绍一下。一台个人台式电脑的主要配件有:1.主板:也叫母板,是连接CPU、内存、AGP等电脑配件的最主要最基本的载体, 主板的结构类型决定电脑各配件的结构和类型,而主板 BIOS和芯片组更是对电脑整体功能起着关键性的作用。目 前主板的类型主要有ATX和Micro-ATX。2.CPU:都说它是电脑的心脏,也有人比喻为类似汽车的发动机。3.显卡:

电脑中的显示数据通过显卡中的GPU、显存进行处理、存放,转换为光讯号通过和显卡相连的显示器显示出来。4.内存:是内部存储器的简称,用来存储当前要用的数据,特点是存储速度快,存储容量较小。通常CPU的操作都需要从内存中读取程序和数据,计算完后再将结果返回到内存。5.硬盘:也是用来存储器程序和数据的存储器器,它和内存相比存储速度慢,但可存储的容量非常大,它和内存配合起来较好地解决了存储中的容量和速度矛盾,各种程序和数据会被存放在硬盘里,如果要参加运行和计算,参加运算的部分就会被调入内存,充分利用内存存储速度快的特点,加快系统运行速度。6.声卡:将电脑中声音的数字信号转换为模拟声音,也就是我们人类能听到的声音。关于刻录机和DVD播放器。电脑上的DVD,是一种光存储设备,它能将存储了更多数据的光盘上的东西读出,是播放DVD光盘的设备,单纯的DVD 播放器不能刻录,而刻录机就是能将数据写到空白光盘上的设备,它不仅能刻录,也能播放。

字符设备基础

Linux 字符设备基础 字符设备驱动程序在系统中的位置 操作系统内核需要访问两类主要设备,简单的字符设备,如打印机,键盘等;块设备,如软盘、硬盘等。与此对应,有两类设备驱动程序。分别称为字符设备驱动程序和块设备驱动程序。两者的主要差异是:与字符设备有关的系统调用几乎直接和驱动程序的内部功能结合在一起。而读写块设备则主要和快速缓冲存储区打交道。只有需要完成实际的输入/输出时,才用到块设备驱动程序。见下图: Linux 设备驱动程序的主要功能有: ● 对设备进行初始化; ● 使设备投入运行和退出服务; ● 从设备接收数据并将它们送到内核; ● 将数据从内核送到设备; ● 检测和处理设备出现的错误。 当引导系统时,内核调用每一个驱动程序的初始化函数。它的任务之一是将这一设备驱动程序使用的主设备号通知内核。同时,初始化函数还将驱动程序中的函数地址结构的指针送给内核。 内核中有两X 表。一X 表用于字符设备驱动程序,另一X 用于块设备驱动程序。这两X 表用来保存指向file_operations 结构的指针, 设备驱动程序内部的函数地址就保

存在这一结构中。内核用主设备号作为索引访问file_operations结构,因而能访问驱动程序内的子程序。 从开机到驱动程序的载入 系统启动过程中可能出现几种不同的方式检测设备硬件。首先机器硬件启动时BIOS会检测一部分必要的设备,如内存、显示器、键盘和硬盘等等。机器会把检测到的信息存放在特定的位置,如CMOS数据区。而另外某些设备会由设备驱动程序进行检测。 1 开机 2 引导部分(linux/config.h,arch/i386/boot/bootsect.S) 3 实模式下的系统初始化(arch/i386/boot/setup.S) 4 保护模式下的核心初始化 5 启动核心(init/main.c) init函数中函数调用关系如下: main.c init() filesystems.c sys_setup() genhd.c device_setup() mem.c chr_dev_init() 至此,驱动程序驻入内存。 设备驱动程序基本数据结构: struct device_struct 系统启动过程中要登记的块设备和字符设备管理表的定义在文件fs/devices.c中:struct device_struct { const char * name; struct file_operations * fops; }; static struct device_struct chrdevs[MAX_CHRDEV]; static struct device_struct blkdevs[MAX_BLKDEV]; 其实块设备表和字符设备表使用了相同的数据结构。在某些系统中,这些设备表也称作设备开关表,不同的是它们直接定义了一组函数指针进行对设备的管理。而这里系统用文件操作(file_operations)代替了那组开关。文件操作是文件系统与设备驱动程序之间的接口,系统特殊文件在建立的时候并没有把两者对应起来,只是把设备的缺省文件结构和i节点结构赋给设备文件,而真正的对应定义在系统启动之后,当设备被打开时时才进行的。 操作blkdev_open和chrdev_open定义在文件devices.c中,它们的基本功能是当设备文件初次打开时,根据该文件的i节点信息找到设备真正的文件操作接口,然后更新原来的设

各种常用电子元件符号及其名称【全】

各种常用电子元件符号 二极管变容二极管 表示符号:D 表示符号:D 双向触发二极管稳压二极管 表示符号:D 表示符号:ZD,D 稳压二极管桥式整流二极管表示符号:ZD,D 表示符号:D

肖特基二极管隧道二极管 隧道二极管光敏二极管或光电接收二极管 发光二极管双色发光二极管 表示符号:LED 表示符号:LED 光敏三极管或光电接收三极管单结晶体管(双基极二极管)表示符号:Q,VT 表示符号:Q,VT

复合三极管NPN型三极管 表示符号:Q,VT 表示符号:Q,VT PNP型三极管PNP型三极管 表示符号:Q,VT 表示符号:Q,VT NPN型三极管带阻尼二极管NPN型三极管表示符号:Q,VT 表示符号:Q,VT 带阻尼二极管及电阻NPN型三极管 表示符号:Q,VT 表示符号:Q,VT

带阻尼二极管IGBT 场效应管 表示符号:Q,VT 电子元器件符号图形 接面型场效应管P-JFET 接面型场效应管N-JFET 场效应管增强型P-MOS 场效应管增强型N-MOS 场效应管耗尽型P-MOS 场效应管耗尽型N-MOS

电阻电阻器或固定电阻表示符号:R 电阻电阻器或固定电阻表示符号:R 电位器可调电阻 表示符号:VR,RP,W 表示符号:VR,RP,W 电位器可调电阻 表示符号:VR,RP,W 表示符号:VR,RP,W 三脚消磁电阻二脚消磁电阻 表示符号:RT 表示符号:RT 压敏电阻表示符号:RZ,VAR 热敏电阻表示符号:RT

光敏电阻电容(有极性电容)CDS 表示符号: 电容(有极性电容)可调电容 表示符号:C 表示符号:C 电容(无极性电容)四端光电光电耦合器 表示符号:C 表示符号:IC,N 六端光电光电耦合器 表示符号:IC,N 电子元器件符号图形

带拖车的轮式移动机器人系统的建模与仿真

系统仿真学报 JOURNAL OF SYSTEM SIMULATION 2000 Vol.12 No.1 P.43-46 带拖车的轮式移动机器人系统的建模与仿真 杨凯 黄亚楼 徐国华 摘 要: 带拖车的轮式移动机器人系统是一种典型的非完整、欠驱动系统。本文建立了带多个拖车的移动机器人系统的运动学模型,对系统的运动特性进行了分析,并在此基础上对系统的运动进行了数值仿真和图形仿真,验证了理论分析的正确性。 关键词: 移动机器人系统; 运动学模型; 龙格-库塔法; 计算机仿真 中图分类号: TP242.3 文献标识码:A 文章编号:1004-731X (2000) 01-0043-4 Modeling and Simulation of Tractor-trailor Robot Systems' Kinematics YANG Kai, HUANG Ya-lou (Department of Computer and System Science, Nankai University, Tianjin 300071) XU Guo-hua (Institute of Automation, Chinese Academy of Sciences, Beijing 100080,China) Abstract: A mobile robot with multi-trailers is a typical nonholonomic, underactuated system. This paper establishes a kinematic model for such system. Based on the kinematic model, the motion of the system is analytically studied, and the simulation of the motion for this system is conducted with the means of Runge-Kutta method and computer graphics. It proves that the theoretical analysis is right. Keywords: mobile robot; underactuated system; Runge-Kutta; computer simulation 1 引言 移动机器人是机器人学中的一个重要分支,本文所讨论的是一种特殊类型的移动机器人系统——带拖车的轮式移动机器人(Tractor-trailer robot),它由一系列相互铰链在一起的多个二轮式刚体小车组成,运行在一个平面上。带拖车的轮式移动机器人系统的一种情形是由一个卡车型的牵引车拖动着一个或多个被动的拖车组成,牵引车可以执行类似于汽车那样的运动:驱动轮向前或向后运动,转向轮向左或向右转向,拖车跟踪牵引车的运动路径。 作为典型的欠驱动、非完整系统,带拖车的移动机器人系统的运动学、规划、控制等方面的研究明显不同于其它机器人系统,由于系统运动规律、控制特性上的理论结果亟待验证,因此,带拖车的移动机器人系统的仿真是极有价值的。 本文针对一般结构形式的带拖车的移动机器人系统建立系统的运动学模型,研究模型的递推形式以解决拖车节数变化带来的模型重构问题,同时就一些问题开展理论分析与仿真验证。 2 系统的运动学模型 2.1 基本假设与变量说明 为了使所建立的数学模型对各种车体链接形式均成立,这里以非标准型带拖车的轮式移动机器人系统为研究对象,所谓非标准型就是相邻两车体的链接点不在前一车体的轮轴上而是在链接轴的某点上(如图1所示),且假设:整个系统是在平面上运动;车轮是无滑动的;车体关于其纵向轴线对称;车轮与地面是点接触,且是纯滚动运动;车体是刚体; 用于车体连接的关节之间是无摩擦

计算机硬件和计算机软件习题及答案

计算机硬件和计算机软件习题及答案 一、单选题 1. 硬件系统由五大功能部件组成,即运算器、控制器、______、输入设备和输出设备。 A 存储器 B 处理器 C 输入设备 D 输出设备 2. ______是计算机的指挥中心。它的功能是取出指令、翻译并分析指令、将指令转化为各种电信号,从而使各个部件协同工作。 A 处理器 B 控制器 C 运算器 D 存储器 3. 总线是各个部件共享的传输介质,它由许多______和相关的控制电路组成,也是计算机系统中的一个比较复杂的部件。 A 传输电路 B 传输线 C 传输电缆 D 传输光缆 4. 按照总线中传输的信息的不同,系统总线分为地址总线、数据总线、______三类。 A 信息总线 B 通信总线 C 指令总线 D 控制总线 5. CPU是计算机系统的核心部件。它的主要任务是执行指令,它按照指令的要求完成对数据的运算和处理。CPU主要由运算器、控制器和______三部分组成。 A 存储器 B 缓冲器 C 寄存器组 D 译码器 6. 只读存储器(Reading Only Memory ,ROM)。它的特点是______,是能够永久性(或半永久性)地保存存储信息的存储器,属于非易失性存储器件,通常用来储存那些经常使用的固定不变的程序和数据。 A 只能读不能写、断电信息不消失 B 只能读不能写、断电信息消失 C 不能读只能写、断电信息不消失 D 既能读又能写、断电信息不消失 7. 读写存储器(Random access Memory ,RAM),它的特点是______,属于易失性存储器件,用来储存平常那些可以发生改变的程序和数据。 A 既能读又能写、断电信息不消失 B 既能读也能写、断电后信息会消失 C 只能读不能写、断电信息不消失 D 只能读不能写、断电信息消失 8. 辅助存储器也称为外部存储器。与内存相比,具有______、速度慢、成本低、可以脱机保存信息的特点。 A 效率低 B 技术含量高 C 容量大 D 容量小 9. 光盘存储器由光盘和光盘驱动器组成,按照其存取方式分为只读型和可记录型,按照记录

孔板流量计工作原理

孔板流量计工作原理 充满管道的流体,当它们流经管道内的节流装置时,流束将在节流装置的节流件处形成局部收缩,从而使流速增加,静压力低,于是 在节流件前后便产生了压力降,即压差,介质流动的流量越大,在节 流件前后产生的压差就越大,所以孔板流量计可以通过测量压差来衡量流体流量的大小。这种测量方法是以能量守衡定律和流动连续性定 律为基准的。 孔板流量计又称为差压式流量计,是由一次检测件(节流件)和二次装置(差压变送器和流量显示仪)组成,广泛应用于气体、蒸汽和液体的流量测量。具有结构简单,维修方便,性能稳定,使用可靠等特点。详细介绍: 一、概述孔板流量计又称为差压式流量计,是由一次检测件(节流件)和二次装置(差压变送器和流量显示仪)组成,广泛应用于气体、蒸汽和液体的流量测量。具有结构简单,维修方便,性能稳定,使用 可靠等特点。孔板节流装置是标准节流件可不需标定直接依照国家 标准生产,1.国家标准GB2624-81<流量测量节流装置的设计安装和使用;2.国际标准ISO5167<国际标准组织规定的各种节流装置; 3.化工部标准GJ516-87-HK06。 二、工作原理充满管道的流体流经管道内的节流装置,在节流件附近造成局部收缩,流速增加,在其上、下游两侧产生静压力

差。在已知有关参数的条件下,根据流动连续性原理和伯努利方程可以推导出差压与流量之间的关系而求得流量。 孔板流量计由截流元件孔板、均压环、三阀组和智能多参数变送器组成。 三阀组: 三阀组的作用是将差压变送器的正负压室与引压管导通或切断,导通或切断差压变送器。 停用时:关闭负压阀,打开平衡阀,关闭正压阀. 投用时:打开正压阀,关闭平衡阀,打开负压阀.在有隔离液的情况下要确保三阀组不能同时打开,防止隔离液因为差压而跑掉. 五阀组比三阀组多2个排污阀。 初次使用时应先打开平衡阀,再打开低压侧负压阀,接着是打开高压侧正压阀,最后关闭平衡阀,变送器工作,这样操作很好的保护了变 送器。在变送器的工作过程中也可以打开平衡阀给变送器调零等操作 孔板流量计的安装位置是直管的前10D后5D。 造成孔板测量不准的几个原因:

一个简单的演示用的Linux字符设备驱动程序.

实现如下的功能: --字符设备驱动程序的结构及驱动程序需要实现的系统调用 --可以使用cat命令或者自编的readtest命令读出"设备"里的内容 --以8139网卡为例,演示了I/O端口和I/O内存的使用 本文中的大部分内容在Linux Device Driver这本书中都可以找到, 这本书是Linux驱动开发者的唯一圣经。 ================================================== ===== 先来看看整个驱动程序的入口,是char8139_init(这个函数 如果不指定MODULE_LICENSE("GPL", 在模块插入内核的 时候会出错,因为将非"GPL"的模块插入内核就沾污了内核的 "GPL"属性。 module_init(char8139_init; module_exit(char8139_exit; MODULE_LICENSE("GPL"; MODULE_AUTHOR("ypixunil"; MODULE_DESCRIPTION("Wierd char device driver for Realtek 8139 NIC"; 接着往下看char8139_init( static int __init char8139_init(void {

int result; PDBG("hello. init.\n"; /* register our char device */ result=register_chrdev(char8139_major, "char8139", &char8139_fops; if(result<0 { PDBG("Cannot allocate major device number!\n"; return result; } /* register_chrdev( will assign a major device number and return if it called * with "major" parameter set to 0 */ if(char8139_major == 0 char8139_major=result; /* allocate some kernel memory we need */ buffer=(unsigned char*(kmalloc(CHAR8139_BUFFER_SIZE, GFP_KERNEL; if(!buffer { PDBG("Cannot allocate memory!\n"; result= -ENOMEM;

电子元件符号作用单位大全

电阻)——电子元器件基础知识(1 表示,单位为欧姆、千欧、R导电体对电流的阻碍作用称为电阻,用符号 表示。一、电阻的型号命名方法:、MΩ兆欧,分别用Ω、KΩ ,用国产电阻器的型号由四部分组成(不适用敏感电阻)第一部分:主称 ,材料表示电阻,W表示电位器。第二部分:字母表示,表示产品的名字。如R有机实心、合成碳膜、S-用字母表示,表示电阻体用什么材料组成,T-碳膜、H-第三部分:X-线绕。C-沉积膜、I-玻璃釉膜、N-无机实心、J-金属膜、Y-氮化膜、普通、表示产品属于什么类型。1-分类,一般用数字表示,个别类型用字母表示,高特殊、G-8-高压、9-5-高温、6-精密、7-精密、高阻、2-普通、3-超高频、4-序号,用数字表示,表示同类产品中不同品种,以区可调。第四部分:功率、T-型普通碳膜电阻例如:R T 1 1 分产品的外型尺寸和性能指标等 电容2)——电子元器件基础知识( 旁电容是电子设备中大量使用的电子元件之一,广泛应用于隔直,耦合,表示电容,电容单位C路,滤波,调谐回路,能量转换,控制电路等方面。 用,1F=10^6uF=10^12pF )uF)、皮法拉(pF有法拉(F)、微法拉( (不适用于压国产电容器的型号一般由四部分组成电容器的型号命名方法 第一部分:材料、分类和序号。敏、可变、真空电容器)。依次分别代表名称、第三部分:第二部分:材料,用字母表示。名称,用字母表示,电容器用C。用第四部分:序号,用数字表示。分类,一般用数字表示,个别用字母表示。D-C-高频陶瓷、A-字母表示产品的材料:钽电解、B-聚苯乙烯等非极性薄膜、金属化纸、玻璃釉、J-合金电解、H-复合介质、I-铝电解、E-其它材料电解、G-云母低频陶瓷、V-Q-漆膜、T-L-涤纶等极性有机薄膜、N-铌电解、O-玻璃膜、纸介云母、纸、Y-Z- 电感线圈3)——电子元器件基础知识( 一圈地绕在绝缘管上,导线彼此互相绝缘,而绝缘*电感线圈是由导线一圈表示,单位有亨利L管可以是空心的,也可以包含铁芯或磁粉芯,简称电感。用。,1H=10^3mH=10^6uH、毫亨利(mH)、微亨利(uH)(H) 按导磁体性质分类:可变电感。电感形式分类:固定电感、电感的分类按天线线圈、分类:工作性质空芯线圈、铁氧体线圈、铁芯线圈、铜芯线圈。按分类:单层线圈、绕线结构振荡线圈、扼流线圈、陷波线圈、偏转线圈。按多层线圈、蜂房式线圈。 表示线圈本身固有特性,L电感量1、电感量L 电感线圈的主要特性参数与电流大小无关。除专门的电感线圈(色码电感)外,电感量一般不专门标注在电感线圈对交流电流阻碍作用的大感抗XL 、线圈上,而以特定的名称标注。2、的关系为和交流电频率它与电感量,小称感抗XL单位是欧姆。LfXL=2πfL 3 与其等效为感抗XLQ是表示线圈质量的一个物理量,Q品质因素Q 品质因素值值愈高,回路的损耗愈小。线圈的QQ=XL/R 线圈的Q的电阻的比值,即:高

计算机硬件组成及各部分的功能

计算机硬件组成及各部分的功能 一、计算机硬件五大功能部分 1.运算器运算器又称算术逻辑单元(Arithmetic Logic Unit 简称ALU)。它是计算机对数据进行加工处理的部件,包括算术运算(加、减、乘、除等)和逻辑运算(与、或、非、异或、比较等)。 2.控制器控制器负责从存储器中取出指令,并对指令进行译码;根据指令的要求,按时间的先后顺序,负责向其它各部件发出控制信号,保证各部件协调一致地工作,一步一步地完成各种操作。控制器主要由指令寄存器、译码器、程序计数器、操作控制器等组成。 硬件系统的核心是中央处理器(Central Processing Unit,简称 CPU)。它主要由控制器、运算器等组成,并采用大规模集成电路工艺制成的芯片,又称微处理器芯片。 3.存储器 存储器是计算机记忆或暂存数据的部件。计算机中的全部信息,包括原始的输入数据。经过初步加工的中间数据以及最

后处理完成的有用信息都存放在存储器中。而且,指挥计算机运行的各种程序,即规定对输入数据如何进行加工处理的一系列指令也都存放在存储器中。存储器分为内存储器(内存)和外存储器(外存)两种。 4.输入设备 输入设备是给计算机输入信息的设备。它是重要的人机接口,负责将输入的信息(包括数据和指令)转换成计算机能识别的二进制代码,送入存储器保存。 5.输出设备 输出设备是输出计算机处理结果的设备。在大多数情况下,它将这些结果转换成便于人们识别的形式。 二、电脑主机包含的硬件及其功能 计算机硬件是指有形的物理设备,它是计算机系统中实际物理装置的总称。 中央处理器、主存储器、辅助存储器、输入输出设备、总线等五个部分。 中央处理器:用来对数据进行各算术运算和逻辑运算,是计算机的执行单元。

字符设备驱动程序

Linux字符设备驱动(转载) 来源: ChinaUnix博客日期:2008.01.01 18:52(共有0条评论) 我要评论 Linux字符设备驱动(转载) 这篇文章描述了在Linux 2.4下,如何建立一个虚拟的设备,对初学者来说很有帮助。原文地址:https://www.doczj.com/doc/556444949.html,/186/2623186.shtml Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Windows的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而块设备则以整个数据缓冲区的形式进行。字符设备的驱动相对比较简单。 下面我们来假设一个非常简单的虚拟字符设备:这个设备中只有一个4个字节的全局变量int global_var,而这个设备的名字叫做"gobalvar"。对"gobalvar"设备的读写等操作即是对其中全局变量global_var的操作。 驱动程序是内核的一部分,因此我们需要给其添加模块初始化函数,该函数用来完成对所控设备的初始化工作,并调用register_chrdev() 函数注册字符设备: static int __init gobalvar_init(void) { if (register_chrdev(MAJOR_NUM, " gobalvar ", &gobalvar_fops)) { //…注册失败 } else

电子元件符号、作用、单位大全

电子元器件基础知识(1)——电阻 导电体对电流的阻碍作用称为电阻,用符号R表示,单位为欧姆、千欧、兆欧,分别用Q、K Q、MQ表示。一、电阻的型号命名方法: 国产电阻器的型号由四部分组成(不适用敏感电阻)第一部分:主称,用字母表示,表示产品的名字。如R表示电阻,W表示电位器。第二部分:材料,用字母表示,表示电阻体用什么材料组成,T-碳膜、H-合成碳膜、S-有机实心、 N-无机实心、J-金属膜、丫-氮化膜、C-沉积膜、I-玻璃釉膜、X-线绕。第三部分:分类,一般用数字表示,个别类型用字母表示,表示产品属于什么类型。1-普通、2-普通、3-超高频、4-高阻、5-高温、6-精密、7-精密、8-高压、9-特殊、G-高功率、T-可调。第四部分:序号,用数字表示,表示同类产品中不同品种,以区分产品的外型尺寸和性能指标等例如:R T 1 1型普通碳膜电阻 电子元器件基础知识(2)――电容 电容是电子设备中大量使用的电子元件之一,广泛应用于隔直,耦合,旁路,滤波,调谐回路,能量转换,控制电路等方面。用C表示电容,电容单位有法拉(F)、微法拉(uF)、皮法拉(pF),1F=10A6uF=10A12pF 电容器的型号命名方法国产电容器的型号一般由四部分组成(不适用于压敏、可变、真空电容器)。依次分别代表名称、材料、分类和序号。第一部分:名称,用字母表示,电容器用C。第二部分:材料,用字母表示。第三部分:分类,一般用数字表示,个别用字母表示。第四部分:序号,用数字表示。用 字母表示产品的材料:A-钽电解、B-聚苯乙烯等非极性薄膜、C-高频陶瓷、D- 铝电解、E-其它材料电解、G-合金电解、H-复合介质、I-玻璃釉、J-金属化纸、L-涤纶等极性有机薄膜、N-铌电解、0-玻璃膜、Q-漆膜、T-低频陶瓷、V-云母纸、丫-云母、Z-纸介 电子元器件基础知识(3)――电感线圈 电感线圈是由导线一圈*一圈地绕在绝缘管上,导线彼此互相绝缘,而绝缘管可以是空心的,也可以包含铁芯或磁粉芯,简称电感。用L表示,单位有亨利(H)、毫亨利(mH)、微亨利(uH),1H=10A3mH=10A6uH。 电感的分类按电感形式分类:固定电感、可变电感。按导磁体性质分类:空芯线圈、铁氧体线圈、铁芯线圈、铜芯线圈。按工作性质分类:天线线圈、振荡线圈、扼流线圈、陷波线圈、偏转线圈。按绕线结构分类:单层线圈、多层线圈、蜂房式线圈。 电感线圈的主要特性参数1、电感量L电感量L表示线圈本身固有特性,与电流大小无关。除专门的电感线圈(色码电感)外,电感量一般不专门标注在线圈上,而以特定的名称标注。2、感抗XL电感线圈对交流电流阻碍作用的大小称感抗XL,单位是欧姆。它与电感量L和交流电频率f的关系为XL=2冗fL 3、

简单介绍计算机硬件系统的组成及各部件功能

1.简单介绍计算机硬件系统的组成及各部件功能. 答:计算机硬件系统由:运算器,控制器.存储器,I/O设备组成。 运算器;完成算数和逻辑运算 控制器:根据指令的要求控制和协调其他各部件工作。 存储器:存储程序和数据 输入设备:将外部信息以一定格式输入到计算机系统。 输出设备:将计算机系统的信息提供给外部设备。 2.简述微程序控制的基本思想。 答:把指令执行的所有控制信号放在一个存储器中,需要时从这个存储器读取。 一条指令的功能通常用许多条微指令实现这个微指令序列称为微程序。 计算机运行时。一条一条读出这些微指令。从而产生各种操作的控制信号。 3.提高存储器速度可采用哪些措施,请说出至少五种措施。 答:1,采用高速器件2,采用cache(高速缓冲存储器)3,采用多提交叉存储器4,采用双端口存储器5,加长存储器的字长 4.请说明指令周期,机器周期,时钟周期之间的关系。 答:指令周期是完成一条指令所需的时间。包括取指令,分析指令和执行指令所需的全部时间。机器周期也称为CPU周期,是指被确定为指令执行过程中的归一化基准时间,通常等于取指时间(或访存时间)。时钟周期是时钟频率的倒数,也可称为节拍脉冲或T周期,是处理操作的基本单位。一个指令周期由若干个机器周期组成,每个机器周期又由若干个时钟周期组成。 5.什么是RISC?RISC指令系统的特点是什么(至少写出4个)? 答:RISC是精简指令系统计算机。 特点:1)选取使用频率最高的一些简单指令。2)指令长度固定。3)只有取数/存数指令访问存储器,其余指令的操作都在寄存器之间进行。4)大部分指令在一个机器周期内完成。5)CPU中通用寄存器数最多。6)以硬布线控制为主,不用或少用微指令码控制。7)一般用高级语言编程,特别重视编译优化工作,以减少程序执行时间。8)指令以流水方式执行 6.计算机系统总线大致分为哪几类? 答:1)一个计算机系统中的总线分为三类:同一部件如CPU内部连接各寄存器及运算部件之间的总线,称内部总线。2)同一台计算机系统的各部件,如CPU.内存.通道和各类I/O接口间互相连接的总线,称为系统总线。3)堕胎处理机之间互相连接的总线,称为多机系统总线。 7.说明计数器定是查询工作原理。 答:总线上的任一设备要求使用总线时,通过BR线发出总线请求。总线控制器接到请求信号以后,在BS线为“0”的情况下让计数器开始计数,计数值通过一组地址发向各设备。每个设备接口都有一个设备地址判别电路,当地址线上的计数值与请求总线的设备相一致时,该设备置“1”BS线,获得总线使用权,此时中断计数查询。 8.简要描述设备进行DMA操作的过程及DMA方式的主要优点。 答:1)外设发出DMA请求2)CPU响应请求,DMA控制器从CPU接管线的控制3)由DMA 控制器执行数据传送操作4)向CPU报告DMA操作结束。 主要优点:数据传送速度快 9.简述通道的基本功能? (1)接受CPU的输入输出操作指令,并按命令控制外围设备。(2)从内存中读取通道程序执行,控制外设各种操作。(3)控制数据在内存和外设间进行传输。(4)读取外设的状态信息(5)想CPU发出中断请求

限流孔板

限流孔板 节流工作原理在充满单相连续流体的管道中,安装一个节流元件(如孔板、喷嘴等)、当流体通过节流元件的节流孔时,流束形成局部收缩,流速加快,动能增加,静压降低,在节流元件的前后产生一个静压力差,即△P=P1-P2,若节流孔面积为F,流体的质量流量为qm,体积流量qv,密度为ρ,则根据流动连续性原理和伯努利方程可推导出压力差与流体流量之间的关系式:qm=qF(△Pρ)0.5式中α是流量系数。由上述关系可知,如果节流孔面积和流体密度一定,则流量与压力差的平方根成正比,即只要测出压差值,即可算出流量值,节流装置就是根据这个原理测量流体流量的。通过测量流体流经节流装置的前后压力降,可达到测量流量流量的目的,这种测量方法是以伯努利定律和流体流动连续定律为基础的。限流孔板的基本原理和节流孔板(降压)的基本原理完全一样。由于两者所起的作用和使用条件不同,所以在考虑方法和计算精度亦有差异。 首先限流孔板非计量仪表,要求精度不高,可忽略某些影响因素。如温度对管径和开口直径的影响,雷诺数对流量系数的影响等。限流孔板只起降压限流作用。限流孔板上压力降是指永久压损。限流孔板上的压力降比节流装置上的压力降大的多。亦就是在相同的流量条件下,孔径比β的范围可扩展到0.05~0.75。 限流孔板设置在管道中用于限制流体的流量或降低流体的压力。1一般用于如下几个方面:工艺物料需要降压且精度要求不高:工艺要求调节阀上的压力降较大,而调节阀上的允许最大压力降达不到这

个要求时,可通过限流孔板降掉一部分压力,以减少调节阀上的压力降,也可减少调节阀的磨损;流体需要小流量且有谁知道如何把氯气中的水分降到10ppm以下连续通过的地方。如泵的冲洗管道、热备用泵的旁通管道(低流量保护管道)、分析取样管等场所。需要降压以减少噪声或磨损的地方,如放容系统。保证安全操作,如当压力降较大的调节阀旁路采用球阀时,为防止旁路手动操作时泄压太快,可采用限流孔板。2分类及选型要点2.1分类:限流孔板按孔板的开孔数可分为单孔孔板和多孔孔板,按板的级数可分为单级孔板和多级孔板。2.2选型要点:2.2.1气体、蒸汽。为避免使用限流孔板的管路出现噎塞流,限流孔板后压力P2不能小于孔板前压力P1的55%,即P2≥0.55P1因此当P2≤0.55P1时,不能用单级孔板,要选多级孔板。而每板的前后压力比也应遵循:2.22液体a)当液体的压降小于或等于2.5Mpa时,选择单板孔板。b)当液体压降大于2.5Mpa时,选择单板孔板,且每块孔板的压降亦应小于2.5Mpa。2.3孔数的确定2.3.1当管道公称通径DN≤150mm,采用单孔孔板;DN>150时,采用多孔孔板。2.3.2多孔孔板的孔径(do)一般可选用12.5mm,20mm,25mm,40mm。在计算多孔孔板时,首先按单孔孔板求出孔径(d)然后按下式求出多孔孔板的孔数(N)N=d2/do2式中do多孔限流孔板的孔径(mm)。

linux字符设备驱动课程设计报告

一、课程设计目的 Linux 系统的开源性使其在嵌入式系统的开发中得到了越来越广泛的应用,但其本身并没有对种类繁多的硬件设备都提供现成的驱动程序,特别是由于工程应用中的灵活性,其驱动程序更是难以统一,这时就需开发一套适合于自己产品的设备驱动。对用户而言,设备驱动程序隐藏了设备的具体细节,对各种不同设备提供了一致的接口,一般来说是把设备映射为一个特殊的设备文件,用户程序可以像对其它文件一样对此设备文件进行操作。 通过这次课程设计可以了解linux的模块机制,懂得如何加载模块和卸载模块,进一步熟悉模块的相关操作。加深对驱动程序定义和设计的了解,了解linux驱动的编写过程,提高自己的动手能力。 二、课程设计内容与要求 字符设备驱动程序 1、设计目的:掌握设备驱动程序的编写、编译和装载、卸载方法,了解设备文件的创建,并知道如何编写测试程序测试自己的驱动程序是否能够正常工作 2、设计要求: 1) 编写一个简单的字符设备驱动程序,该字符设备包括打开、读、写、I\O控制与释放五个基本操作。 2) 编写一个测试程序,测试字符设备驱动程序的正确性。 3) 要求在实验报告中列出Linux内核的版本与内核模块加载过程。 三、系统分析与设计 1、系统分析 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1、对设备初始化和释放; 2、把数据从内核传送到硬件和从硬件读取数据; 3、读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4、检测和处理设备出现的错误。 字符设备提供给应用程序的是一个流控制接口,主要包括op e n、clo s e(或r ele as e)、r e ad、w r i t e、i o c t l、p o l l和m m a p等。在系统中添加一个字符设备驱动程序,实际上就是给上述操作添加对应的代码。对于字符设备和块设备,L i n u x内核对这些操作进行了统一的抽象,把它们定义在结构体fi le_operations中。 2、系统设计: 、模块设计:

电子元件及图形符号

电子元件及图形符号 电感L 电容C 电位E 电流I 电荷q 电阻R 晶体二极管D.如D5表示编号为5的二极管 稳压二极管ZD.如ZD5表示编号为5的稳压管 警惕三极管Q. 如Q17表示编号为17的三极管 集成快(IC) U 晶振Y 保险电阻F或PS https://www.doczj.com/doc/556444949.html,/phpbb2/viewforum.php?f=1&topicdays=0&start=1250&sid=c85d deeb22acc77cb1538565dd10f2e4 这个上面很齐全 做机器人要先了解电子元器件 这里有一些电子元件的知识给新手: 电子元件(1)<电阻> 电阻在电路中用“R”加数字表示,如:R1表示编号为1的电阻。电阻在电路中的主要作用为:分流、限流、分压、偏置等。#1、参数识别:电阻的单位为欧姆(Ω),倍率单位有:千欧(KΩ),兆欧(MΩ)等。换算方法是:1兆欧=1000千欧=1000000欧电阻的参数标注方法有3种,即直标法、色标法和数标法。a、数标法主要用于贴片等小体积的电路,如:472 表示47×100Ω(即4.7K);104则表示100K b、色环标注法使用最多,现举例如下:四色环电阻五色环电阻(精密电阻)#2、电阻的色标位置和倍率关系如下表所示:颜色有效数字倍率允许偏差(%)银色/ x0.01 ±10 金色/ x0.1 ±5 黑色0 +0 / 棕色1 x10 ±1 红色2 x100 ±2 橙色3 x1000 / 黄色4 x10000 / 绿色5 x100000 ±0.5 蓝色6 x1000000 ±0.2 紫色7 x10000000 ±0.1 灰色8 x100000000 / 白色9 x1000000000 / 电子元件(2)<电容> #1、电容在电路中一般用“C”加数字表示(如C13表示编号为13的电容)。电容是由两片金属膜紧靠,中间用绝缘材料隔开而组成的元件。电容的特性主要是隔直流通交流。电容容量的大小就是表示能贮存电能的大小,电容对交流信号的阻碍作用称为容抗,它与交流信号的频率和电容量有关。容抗XC=1/2πf c (f表示交流信号的频率,C表示电容容量)电话机中常用电容的种类有电解电容、瓷片电容、贴片电容、独石电容、钽电容和涤纶电容等。#2、识别方法:电容的识别方法与电阻的识别方法基本相同,分直标法、色标法和数标法3种。电容的基本单位用法拉(F)表示,其它单位还有:毫法(mF)、微法(uF)、纳法(nF)、皮法(pF)。其中:1法拉=103毫法=106微法=109纳法=1012皮法容量大的电容其容量值在电容上直接标明,如10 uF/16V 容量小的电容其容量值在电容上用字母表示或数字表示字母表示法:1m=1000 uF 1P2=1.2PF 1n=1000PF 数字表示法:一般用三位数字表示容量大小,前两位表示有效数字,第三位数字是倍率。如:102表示 10×102PF=1000PF 224表示22×104PF=0.22 uF #3、电容容量误差表符号F G J K L M 允许误差±1% ±2% ±5% ±10% ±15% ±20% 如:一瓷片电容为104J表示容量为0. 1 uF、误差为±5%。 电子元件(3)<晶体二极管>

孔板节流装置

HLGJ-B 系列 孔板节流装置 ■概述 孔板节流装置是差压式液流量测量系统中的一次装置,它由 节流孔板、取压装置、前后直管段及连接法兰等部件组成。与 差压变送器配套使用可实现对充满管道的单相、均质的各种液体、 气体及蒸汽流量的测量。 制造标准:GB2624-93 ISO5167-91 ■测量原理 当充满管道的流体流经孔板时,将产生局部收缩,流束集中, 流速增加,静压降低,于是在孔板前后产生一个静压力差,该压 力差与流量存一定的函数关系,流量越大,压力差就越大。 通过导压管将差压信号传递给差压变送器,转换成4~20mA.DC 标准信号,经流量显示仪,便显示出管道内的瞬时和累积流量。 ■取压方式 孔板节流装置常用取压方式有三种: ● 角接取压(环室、钻孔)。 ● 法兰取压。 ● D-D/2径距取压。 ■主要技术参数 测量原理示意图

■孔板节流装置型号标记 型号标记为:HLGJ-B1FO-PN2.5 DN150B ■法兰标准: PN2.0~26.0,DN15~600,HG20618-97 PN2.0~5.0,DN650~1000,HG20623-97 PN11.0~15.0,DN650~900,HG20623-97 PN32.0~42.0,DN15~300,HG20618-97 也可按用户提供的法兰标准及规格制造 ■主要部件材质 ●孔板:1Cr18Ni9Ti、304、316、316L ●法兰、直管段:Q235A、20#、1Cr18Ni9Ti ●垫片:中压橡胶石棉板;NY300耐油橡胶石棉板;八角形金属环垫 ■取压孔安装方位示意图

■法兰取压孔板节流装置 ■角接取压孔板节流装置 ■D-D/2径距取压孔板节流装置

一个简单字符设备驱动实例

如何编写Linux设备驱动程序 Linux是Unix操作系统的一种变种,在Linux下编写驱动程序的原理和思想完全类似于其他的Unix系统,但它dos或window环境下的驱动程序有很大的区别。在Linux环境下设计驱动程序,思想简洁,操作方便,功能也很强大,但是支持函数少,只能依赖kernel中的函数,有些常用的操作要自己来编写,而且调试也不方便。本文是在编写一块多媒体卡编制的驱动程序后的总结,获得了一些经验,愿与Linux fans共享,有不当之处,请予指正。 以下的一些文字主要来源于khg,johnsonm的Write linux device driver,Brennan's Guide to Inline Assembly,The Linux A-Z,还有清华BBS上的有关device driver的一些资料. 这些资料有的已经过时,有的还有一些错误,我依据自己的试验结果进行了修正. 一、Linux device driver 的概念 系统调用是操作系统内核和应用程序之间的接口,设备驱动程序是操作系统内核和机器硬件之间的接口。设备驱动程序为应用程序屏蔽了硬件的细节,这样在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作。设备驱动程序是内核的一部分,它完成以下的功能: 1)对设备初始化和释放; 2)把数据从内核传送到硬件和从硬件读取数据; 3)读取应用程序传送给设备文件的数据和回送应用程序请求的数据; 4)检测和处理设备出现的错误。 在Linux操作系统下有两类主要的设备文件类型,一种是字符设备,另一种是块设备。字符设备和块设备的主要区别是:在对字符设备发出读/写请求时,实际的硬件I/O一般就紧接着发生了,块设备则不然,它利用一块系统内存作缓冲区,当用户进程对设备请求能满足用户的要求,就返回请求的数据,如果不能,就调用请求函数来进行实际的I/O操作。块设备是主要针对磁盘等慢速设备设计的,以免耗费过多的CPU时间来等待. 已经提到,用户进程是通过设备文件来与实际的硬件打交道。每个设备文件都都有其文件属性(c/b),表示是字符设备还是块设备。另外每个文件都有两个设备号,第一个是主设备号,标识驱动程序,第二个是从设备号,标识使用同一个设备驱动程序的不同的硬件设备,比如有两个软盘,就可以用从设备号来区分他们。设备文件的主设备号必须与设备驱动程序在登记时申请的主设备号一致,否则用户进程将无法访问到驱动程序. 最后必须提到的是,在用户进程调用驱动程序时,系统进入核心态,这时不再是抢先式调度。也就是说,系统必须在你的驱动程序的子函数返回后才能进行其他的工作。如果你的驱动程序陷入死循环,不幸的是你只有重新启动机器了,然后就是漫长的fsck。 二、实例剖析 我们来写一个最简单的字符设备驱动程序。虽然它什么也不做,但是通过它可以了解Linux的设备驱动程序的工作原理.把下面的C代码输入机器,你就会获得一个真正的设备

相关主题
文本预览
相关文档 最新文档