上位机和下位机
上位机是指:人可以直接发出操控命令的计算机,一般是PC,屏幕上显示各种信号变化(液压,水位,温度等)。下位机是直接控制设备获取设备状况的的计算机,一般是PLC/单片机之类的。上位机发出的命令首先给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备。下位机不时读取设备状态数据(一般模拟量),转化成数字信号反馈给上位机。简言之如此,真实情况千差万别不离其宗。上下位机都需要编程,都有专门的开发系统。
在概念上
控制者和提供服务者是上位机
被控制者和被服务者是下位机
也可以理解为主机和从机的关系
但上位机和下位机是可以转换的
两机如何通讯,一般取决于下位机。TCP/IP一般是支持的。但是下位机一般具有更可靠的独有通讯协议,购买下位机时,会带一大堆手册光盘,告诉你如何使用特有协议通讯。里面会举大量例子。一般对编程人员而言一看也就那么回事,使用一些新的API罢了。多语言支持功能模块,一般同时支持数种高级语言为上位机编程。
状态机
第一类,若输出只和状态有关而与输入无关,则称为Moore状态机
第二类,输出不仅和状态有关而且和输入有关系,则称为Mealy状态机
FPGA
FPGA(Field-Programmable Gate Array),即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。它是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的,既解决了定制电路的不足,又克服了原有可编程器件门电路数有限的缺点。
FPGA采用了逻辑单元阵列LCA(Logic Cell Array)这样一个概念,内部包括可配置逻辑模块CLB(Configurable Logic Block)、输入输出模块IOB(Input Output Block)和内部连线(Interconnect)三个部分。 现场可编程门阵列(FPGA)是可编程器件,与传统逻辑电路和门阵列(如PAL,GAL及CPLD器件)相比,FPGA具有不同的结构。FPGA利用小型查找表(16×1RAM)来实现组合逻辑,每个查找表连接到一个D触发器的输入端,触发器再来驱动其他逻辑电路或驱动I/O,由此构成了既可实现组合逻辑功能又可实现时序逻辑功能的基本逻辑单元模块,这些模块间利用金属连线互相连接或连接到I/O模块。FPGA的逻辑是通过向内部静态存储单元加载编程数据来实现的,存储在存储器单元中的值决定了逻辑单元的逻辑功能以及各模块之间或模块与I/O间的联接方式,并最终决定了FPGA所能实现的功能,FPGA允许无限次的编程。
I/0接口
I/O输入/输出(Input/Output),分为IO设备和IO接口两个部分
FIFO存储器
FIFO( First In First Out)简单说就是指先进先出。由于微电子技术的飞速发展,新一代FIFO芯片容量越来越大,体积越来越小,价格越来越便宜。作为一种新型大规模集成电路,FIFO芯片以其灵活、方便、高效的特性,逐渐在高速数据采集、高速数据处理、高速数据传输以及多机处理系统中得到越来越广泛的应用。
FIFO缓存的目的是将数据存储在FPGA内置的RAM中
DDC控制器
DDC(Direct Digital Control)直接数字控制,通常称为DDC控制器。DDC系统的组成通常包括中央控制设备(集中控制电脑、彩色监视器、键盘、打印机、不间断电源、通讯接口等)、现场DDC控制器、通讯网络,以及相应的传感器、执行器、调节阀等元器件。
DDC控制系统常采用的网络结构有两种,即Bus总线结构和环流网络结构。其中Bus总线结构是所有DDC控制器均通过一条Bus总线与集中控制电脑相连,它的最大优点就是系统简单、通信速度较快,对一些中、小型工程较为适用;但在大型工程时就会导致布线复杂。为此有些公司又推出了支路Bus总线结构网络,它是通过一个通讯处理设备(NCU)后产生支路Bus总线,这样各支路又可带数个现场DDC控制器,对一个大区域而言,只需几个NCU与系统Bus总线相联即可,这样可大大简化该系统。对于环流网络结构,它是利用两根总线形成一个环路,每一个环路可带数个DDC控制器,多个环路之间通过环路接口相联,因此这种系统最大优点就是扩充能力较强。
DDC4100
2XLVDS DMD ---- Spatial Light Modulator(空间光调制器)
输出数据驱动DMD
随机二值DMD 高速显示平台由硬件随机数发生器、DDR 缓存及控制
器、DMD 控制器以及DMD 显示模块组成
DAD2000 ---- DMD reset drivers for DMD(DMD 复位驱动)
DDC4100 ---- Xilinx XC5VLX30 FPGA configured to provide high-speed DMD data and control, and DAD2000 timing and control(为DMD提供高速的数据和DAD2000的时序控制)
1、计算机网络分为几层?
还有就是现在通用的标准TCP/IP标准共有五层
应用层
运输层
网络层
数据链路层
物理层 (同理第一层是物理层)
2、计算机网络按交换方式可分为哪几大类?各自有什么优缺点?
按交换方式可分为线路交换网络(Circurt Switching)、报文交换网络(Message Switching)和分组交换网络(Packet Switching)。
线路交换最早出现在电话系统中,早期的计算机网络就是采用此方式来传输数据的,数字信号经过变换成为模拟信号后才能在线路上传输。报文交换是一种数字化网络。当通信开始时,源机发出的一个报文被存储在交换器里,交换器根据报文的目的地址选择合适的路径发送报文,这种方式称做存储-转发方式。分组交换也采用报文传输,但它不是以不定长的报文做传输的基本单位,而是将一个长的报文划分为许多定长的报文分组,以分组作为传输的基本单位。这不仅大大简化了对计算机存储器的管理,而且也加速了信息在网络中的传播速度。由于分组交换优于线路交换和报文交换,具有许多优点,因此它已成为计算机网络的主流。
3、集线器工作在物理层,交换机主要工作在数据链路层,但也有多层交换机。路由器工作在网络层
15 相当于二进制01111
-15 相当于二进制10001
类型 | 16位系统/字节 | 32位系统/字节 | 64位系统/字节 |
char | 1 | 1 | 1 |
char* | 2 | 4 | 8 |
short | 2 | 2 | 2 |
int | 2 | 4 | 4 |
long | 4 | 4 | 8 |
long long | 8 | 8 | 8 |
1、64位系统下,编译器为了向前兼容,将int类型自动编译为4个字节的了;
2、这些个玩意儿就是编译器来控制的,不同的编译器将int类型编译成不同长度的,所以,使用什么编译器才是重要的,比如:32位系统,tc下的int就是16位长度的,VC就是32位长度的。
3、long long是标准的8 bytes,不受编译器限制,所以,16位的依然也是8 bytes。(多谢博友0_0i_i 的指正)