云存储:一块崭新的市场

 

许多企业开始对把数据存储在互联网“云”中的服务提出了疑问,但是尽管存储云存在种种局限,它带来的风险也许与本地存储平台一样小。

    云存储和云计算背后的技术让企业可以利用IT资源,不必关心这些资源位于何处。所以,云计算通常意味着把主数据或备份数据放到企业外部不确定的存储池里,而不是放到本地数据中心或专用远程站点。支持者们认为,如果使用云存储服务,企业机构就能节省投资费用,简化复杂的设置和管理任务,把数据放在云中还便于从更多的地方访问数据。

    云存储:一块崭新的市场

    减少工作和费用是预计云服务在接下来几年会持续增长的一个主要原因。据研究公司IDC声称,去年,全球IT开支当中有4%用于云服务;到2012年,这个比例会达到9%。由于成本和空间方面的压力,数据存储非常适合使用云解决方案;IDC预测,在这同一期间,云存储在云服务开支中的比重会从8%增加到13%。

    厂商们正在积极满足这种需求。亚马逊很早就在云计算领域大放光彩,现在其服务内容包括一项名为S3的存储服务。ExaBackup在2007年就开始提供云归档和备份服务,在中国分支机构鼎鼎科技更在中国强势推出适合中国的云存储-9云; 存储领域的一些大牌厂商也加入到了这个行列,包括EMC公司旗下的Mozy部门和希捷。

    调研机构451 Group的分析师Henry Baltazar认为,正在仔细考虑如何与云存储服务提供商签约的用户无异于已经领先了一步。Baltazar说:“眼下,许多人其实没有留意这项服务,因为他们还在认真考虑自己要不要使用云存储……这还是一个崭新的市场。”

    但有些公司正准备大胆尝试。对加利福尼亚州罗斯维尔的Adventist Health而言,某种云存储可能是该医疗机构正在制订的数据管理计划的一部分。Adventist的首席技术官Greg McGovern表示,这种云存储也许与医院把视频放到YouTube上一样简单。他认为,如果可以利用市面上最流行的视频播放和托管平台,医疗公司就没必要自行开发一套平台。

    多伦多的在线票务公司FreshBooks也在试用Rackspace公司的“云文件”(Cloud Files)存储服务,预计很快就会开始正式使用该服务,以存储大量文档文件的副本。首席执行官Mike McDerment表示,这样一来,该公司就不必管理文件和基础架构,毕竟管理这些东西不是FreshBooks的专长。McDerment说:“能够把这项工作外包出去是一大优势。任何企业主都需要弄清楚自己擅长什么工作。”

    用户对数据的控制和迁移如何得到保证?

    但是把任何IT职能交给外人都意味着丧失一定的控制权。存储服务在这方面更是带来了问题。对许多公司来说,信息就是核心资产;如果员工和客户无法获得信息,公司就会陷入困顿。

    Rackspace是一家有着十年历史的托管服务公司,它拥有一项正在测试的云存储服务。首席技术官John Engates承认:“没有哪家提供商完美无缺。世界上最好的云也会出现停运。”

    要是保管你数据的服务提供商出岔子,会发生什么情况呢?拿回数据或者把数据转移到另一家提供商有多容易?企业应当为一些危险作好防备。不过,据用户和行业分析师声称,事实证明,云存储带来的风险不像看起来那么大,也不会比内部系统来得麻烦。

    IDC公司的分析师Benjamin Woo表示,要是真到了换服务提供商的地步,可能要做不少工作。Woo说:“问题不像单单说‘我不喜欢这家提供商,我要换一家提供商’这么简单。”举例说,如果新的云服务提供商的系统不支持,可能要改换在自身场地使用的备份软件。他表示,内部策略和规程可能也要改变。

    分析师们表示,到目前为止,拿回放在云中的数据或者转移至另一家提供商的过程,业内还没有统一的标准。提供数据迁移软件和服务的Procedo公司的创办人兼首席执行官Joe Kvidera表示,云存储方面还没有相当于简单邮件传输协议(SMTP)的通用传输机制。他认为,因为这个行业仍处于发展初期,因此厂商们选择各自的压缩、加密和传输机制,以便有别于其他厂商。

    但有些厂商正在采取措施,为用户提供更大的控制权、让迁移过程更简单。FreshBooks公司的McDerment认为,把他的归档文件迁移至另一个云会很容易。他表示,Rackspace提供的“云文件”应用编程接口(API)可用于编写新的脚本。同时,API让FreshBooks只要通过改变代码,即可操纵及整理文档。

    ExaBackup公司的总裁兼首席执行官Rongcheng Yan 表示,ExaBackup也提供一组API,它已与Atempo等备份和归档软件厂商签订了集成协议,那样客户可以继续使用自己熟悉的实用程序。此外,ExaBackup还提供CloudNAS,这款连接软件能够让ExaBackup云如同任何网络附加存储(NAS)一样。Zierick表示,该软件使用ExaBackup的一组API,可以模拟常用的文件系统,比如通用互联网文件系统(CIFS)和网络文件系统(NFS)。

    不过,把大量数据从一家服务提供商迁移至另一家提供商,或者从一个云迁移至内部存储平台都是一项重大任务。Zierick表示,ExaBackup的基本服务利用公共互联网来转移文件,但是该公司已帮助多个客户租赁高带宽线路,以便把大量文件一次性转移至ExaBackup云。它甚至帮助客户们把数据装入到客户处的服务器上,然后把服务器运到ExaBackup处以便卸载数据。该公司现正在与存储咨询公司商谈提供迁移服务的事宜。

    Procedo公司的Kvidera表示,对迁移服务的需求正在迅速增长,这项服务的收费标准是每迁移1 TB数据在5000至40000美元之间。

    用户能否拿回自己的数据?

    但是可用性方面的担忧其实自数据存储本身问世以来就存在了。

    Adventist Health的首席技术官McGovern记得20年前使用大型机的场景,当时关键数据备份到磁带上。他表示,必须为每个数据制作两个副本,因为有些磁带到最后无法读取,每夜备份过程最多会占用大型机七个小时。

    McGovern认为:“互联网存储模式比我们过去采用的任何备份模式更可靠、更具有成本效益、更有保障。”他认为,利用内部资源来保存数据让人觉得安全、可以立即使用,但这可能完全是一种错觉。说到数据恢复功能,存放在公司漏水仓库内的磁带还不如放在第三方云中的数据。McGovern表示,不管怎样,IT部门都应当采取正常的正确程序,确保归档数据是可用的。

    Nucleus Research公司的分析师Rebecca Wettemann表示,内部存储是IT领域专有性最强的方面之一,仍存在自身的成本问题和隐性困难。

    Wettemann 说:“如果我的所有数据都放在自有硬件架构里面的专有存储架构上,是不是说把这些数据取出来、转移到另一家提供商比较容易?答案也许是否定的。”她表示,成本也恐怕比较高,因为公司可能在软硬件和专门培训方面投入了大笔资金。

    Wettemann表示,另外,企业面对云存储服务提供商时底气可能比面对把存储基础架构卖给自己的公司来得足。要是出了什么问题,服务提供商会更加积极地让客户满意,因为它需要客户为下一个月支付订购费。

    到了没有任何回旋余地的时候,云存储提供商可能会把客户的数据“扣为人质”。Engates表示,Rackspace公司从未遇到过这种情况。Zierick表示,虽然ExaBackup在合同中写明了它可以阻止客户访问数据的条文,但该公司会想方设法尽量先解决争端,避免闹僵。

    IDC的Woo认为,云存储服务提供商与客户之间不太可能出现严重冲突,因为该服务非常简单。

内容概要:本文设计了一种基于PLC的全自动洗衣机控制系统内容概要:本文设计了一种,采用三菱FX基于PLC的全自动洗衣机控制系统,采用3U-32MT型PLC作为三菱FX3U核心控制器,替代传统继-32MT电器控制方式,提升了型PLC作为系统的稳定性与自动化核心控制器,替代水平。系统具备传统继电器控制方式高/低水,实现洗衣机工作位选择、柔和过程的自动化控制/标准洗衣模式切换。系统具备高、暂停加衣、低水位选择、手动脱水及和柔和、标准两种蜂鸣提示等功能洗衣模式,支持,通过GX Works2软件编写梯形图程序,实现进洗衣过程中暂停添加水、洗涤、排水衣物,并增加了手动脱水功能和、脱水等工序蜂鸣器提示的自动循环控制功能,提升了使用的,并引入MCGS组便捷性与灵活性态软件实现人机交互界面监控。控制系统通过GX。硬件设计包括 Works2软件进行主电路、PLC接梯形图编程线与关键元,完成了启动、进水器件选型,软件、正反转洗涤部分完成I/O分配、排水、脱、逻辑流程规划水等工序的逻辑及各功能模块梯设计,并实现了大形图编程。循环与小循环的嵌; 适合人群:自动化套控制流程。此外、电气工程及相关,还利用MCGS组态软件构建专业本科学生,具备PL了人机交互C基础知识和梯界面,实现对洗衣机形图编程能力的运行状态的监控与操作。整体设计涵盖了初级工程技术人员。硬件选型、; 使用场景及目标:I/O分配、电路接线、程序逻辑设计及组①掌握PLC在态监控等多个方面家电自动化控制中的应用方法;②学习,体现了PLC在工业自动化控制中的高效全自动洗衣机控制系统的性与可靠性。;软硬件设计流程 适合人群:电气;③实践工程、自动化及相关MCGS组态软件与PLC的专业的本科生、初级通信与联调工程技术人员以及从事;④完成PLC控制系统开发毕业设计或工业的学习者;具备控制类项目开发参考一定PLC基础知识。; 阅读和梯形图建议:建议结合三菱编程能力的人员GX Works2仿真更为适宜。; 使用场景及目标:①应用于环境与MCGS组态平台进行程序高校毕业设计或调试与运行验证课程项目,帮助学生掌握PLC控制系统的设计,重点关注I/O分配逻辑、梯形图与实现方法;②为工业自动化领域互锁机制及循环控制结构的设计中类似家电控制系统的开发提供参考方案;③思路,深入理解PL通过实际案例理解C在实际工程项目PLC在电机中的应用全过程。控制、时间循环、互锁保护、手动干预等方面的应用逻辑。; 阅读建议:建议结合三菱GX Works2编程软件和MCGS组态软件同步实践,重点理解梯形图程序中各环节的时序逻辑与互锁机制,关注I/O分配与硬件接线的对应关系,并尝试在仿真环境中调试程序以加深对全自动洗衣机控制流程的理解。
<think>首先,用户的问题是:“FPGA开发板开关数量不足 如何扩展输入开关”。我需要基于系统级指令和用户可见层的要求来回答。 系统级指令: 1. 所有行内数学表达式必须使用 $...$ 格式。 2. 独立公式必须使用 $$...$$ 格式并单独成段。 3. LaTeX语法正确。 4. 使用中文回答。 5. 生成相关问题。 6. 回答中引用的段落末尾自然地添加引用标识,例如:[^1] 用户可见层: 1. 回答结构清晰,帮助用户逐步解决问题,尽量保证回答真实可靠。 参考站内引用: - 引用[1]: 关于FPGA芯片接口的多样性和复杂性。 - 引用[2]: FPGA开发板的灵活性和性能。 - 引用[3]: 一个Verilog示例,通过按键控制LED灯。 用户希望在FPGA开发板上扩展输入开关数量。我需要提供解决方案,并确保回答真实可靠。 关键点: - FPGA开发板通常有有限的物理开关。 - 扩展输入开关可以通过多种方式实现,如使用外部接口、复用开关、或添加外部设备。 可能的解决方案: 1. **使用GPIO引脚扩展**:FPGA开发板有通用输入输出(GPIO)引脚,可以连接外部开关。 2. **复用开关**:通过软件或硬件方式复用现有开关,例如使用时间复用或编码。 3. **添加外部设备**:如使用键盘、矩阵键盘、或通过串行接口连接更多开关。 4. **利用接口**:参考引用[1],FPGA有各种接口如SPI、I2C、UART,可以连接外部设备提供更多输入。 5. **Verilog实现**:参考引用[3],用户熟悉Verilog,所以可以讨论如何在代码中处理扩展的输入。 回答结构: - **介绍问题**:简述FPGA开发板开关数量不足的常见问题。 - **解决方案**:逐步介绍扩展方法。 - **示例**:提供简单代码示例(如基于引用[3])。 - **总结**:建议最佳实践。 - **生成相关问题**:在末尾添加相关问题。 确保中文回答: - 整个回答用中文。 引用标识: - 在回答中,如果引用参考内容,末尾添加[^1]、[^2]等。例如,提到接口多样性时引用[1]。 生成相关问题: - 在回答末尾,添加"相关问题"部分,如系统指令示例所示。 详细步骤: 1. **介绍**:解释为什么开关数量不足,并提到FPGA的扩展性。 - 引用[2]提到FPGA的灵活性和快速迭代,可以用于扩展。 2. **解决方案**: - 方法1: 使用GPIO引脚连接外部开关。 - 描述如何连接物理开关到GPIO。 - 在Verilog中读取这些引脚。 - 方法2: 开关复用。 - 例如,使用一个开关输入多个信号通过时间复用。 - 提供简单Verilog代码示例。 - 方法3: 通过接口连接外部设备。 - 如I2C、SPI连接键盘或开关矩阵。 - 引用[1]提到接口的多样性。 - 方法4: 使用编码器或解码器。 - 如使用二进制编码减少引脚使用。 3. **示例**:基于引用[3],修改代码来扩展输入。 - 例如,添加一个复用逻辑。 4. **总结**:推荐根据需求选择方法。 5. **相关问题**:生成3-5个相关问题。 代码格式: - 如果提供代码,使用代码块,如系统指令示例所示。 数学表达式: - 如果有数学内容,如计算引脚数,使用$...$格式。例如,$n$个引脚可以支持$2^n$个开关。 最终输出结构: - 回答部分 - 相关问题部分</think>### FPGA开发板开关数量不足的扩展方法 FPGA开发板通常集成了有限的物理开关(如按键或拨码开关),这可能会限制复杂项目的输入控制能力。幸运的是,FPGA的灵活性和丰富接口使其易于扩展输入开关数量[^2]。以下我将逐步介绍几种可靠且实用的扩展方法,帮助您实现更多输入控制。这些方法基于硬件连接和Verilog代码优化,确保真实可行。 #### 步骤1: 理解扩展原理 FPGA开发板的核心优势在于其通用输入输出(GPIO)引脚和可编程逻辑。通过外部连接或复用技术,您可以将少量物理引脚扩展为多个逻辑输入: - **GPIO引脚计算**:如果FPGA有$n$个空闲GPIO引脚,理论上可支持最多$2^n$个开关状态(例如,$n=4$时可管理16种输入组合)。 - **接口多样性利用**:FPGA芯片提供多种接口(如SPI、I2C、UART),能高效连接外部设备,减少引脚占用[^1]。 #### 步骤2: 选择并实施扩展方法 以下是三种常用扩展方法,按复杂度从低到高排序。每种方法都包含硬件连接指南和Verilog代码示例(基于引用[3]的按键控制逻辑)。 **方法1: 直接使用GPIO引脚连接外部开关** 这是最简单的方法,适合需要少量额外开关的场景。 - **硬件连接**: - 将外部开关(如轻触开关)一端接地,另一端通过电阻上拉至FPGA的GPIO引脚。 - 确保开关数量不超过空闲GPIO引脚数。例如,如果开发板有4个空闲引脚,可添加4个新开关。 - **Verilog代码修改**: 在原有代码中新增输入端口,并直接读取GPIO状态。以下示例扩展了4个开关: ```verilog `timescale 1ns / 1ps module key_test_expanded ( input sys_clk, input rst_n, input [3:0] key_in, // 原始开发板开关 input [3:0] external_sw, // 新增外部开关,连接到GPIO output reg [3:0] led ); always @(posedge sys_clk or negedge rst_n) begin if (~rst_n) led <= 4'b0000; else led <= key_in | external_sw; // 合并原始和扩展开关控制LED end endmodule ``` - **优点**:实现简单,延迟低。 - **缺点**:受限于GPIO数量,扩展规模小。 **方法2: 开关复用技术(时间复用)** 当GPIO引脚不足时,通过时间复用使一个引脚读取多个开关信号。 - **硬件连接**: - 使用多路复用器芯片(如74HC4051),将多个开关连接到复用器的输入通道。 - 复用器的输出端接FPGA的一个GPIO引脚,控制端接FPGA的另外几个GPIO(用于选择通道)。 - 例如,3个控制引脚可管理$2^3 = 8$个开关(控制引脚选择通道,数据引脚读取状态)。 - **Verilog代码实现**: 添加时钟分频逻辑,循环扫描开关状态。 ```verilog `timescale 1ns / 1ps module key_multiplexed ( input sys_clk, input rst_n, output reg [2:0] mux_sel, // 复用器控制信号 input mux_data, // 复用器输出数据引脚 output reg [3:0] led ); reg [1:0] counter; always @(posedge sys_clk or negedge rst_n) begin if (~rst_n) begin counter <= 0; mux_sel <= 0; led <= 4'b0000; end else begin counter <= counter + 1; // 简单计数器实现扫描 if (counter == 2'b11) begin mux_sel <= mux_sel + 1; // 每4个时钟周期切换通道 end // 根据mux_sel读取对应开关状态,并映射到LED case (mux_sel) 3'd0: led[0] <= mux_data; // 开关1状态 3'd1: led[1] <= mux_data; // 开关2状态 // 添加更多case处理其他开关 endcase end end endmodule ``` - **优点**:显著节省引脚,$n$个控制引脚支持$2^n$个开关。 - **缺点**:引入扫描延迟,需处理防抖动(在always块中添加去抖动逻辑)。 **方法3: 通过串行接口连接外部输入设备** 对于大规模扩展(如数十个开关),利用FPGA的SPI或I2C接口连接外部设备,如键盘矩阵或专用开关模块。 - **硬件连接**: - 将开关矩阵(例如4x4矩阵键盘)通过I2C或SPI接口芯片(如PIC16F877A)连接到FPGA。 - 参考引用[1],FPGA的接口多样性(如JESD204B)支持高速数据传输,适合复杂输入[^1]。 - **Verilog代码优化**: 使用IP核或自定义状态机处理串行数据。 ```verilog `timescale 1ns / 1ps module i2c_switch_expander ( input sys_clk, input rst_n, output i2c_scl, inout i2c_sda, // I2C接口引脚 output reg [7:0] switch_state // 存储8个开关状态 ); // 假设外部I2C设备地址为0x50 reg [7:0] i2c_data; reg i2c_start; integer state; always @(posedge sys_clk or negedge rst_n) begin if (~rst_n) begin state <= 0; i2c_start <= 0; end else begin case (state) 0: begin // 发送设备地址 i2c_start <= 1; i2c_data <= 8'h50; // I2C设备地址 state <= 1; end 1: begin // 读取开关数据 // 这里简化I2C读取逻辑,实际需实现完整I2C协议 switch_state <= i2c_data; // 存储开关状态 state <= 0; end endcase end end // 添加I2C协议实现(省略详细代码,建议使用Xilinx或Intel IP核) endmodule ``` - **优点**:支持大量输入(理论上无限),易于集成商业模块。 - **缺点**:需额外硬件,开发复杂度较高。 #### 步骤3: 选择方法与注意事项 - **推荐方法**: - 小规模扩展(<8个开关):优先使用方法1或方法2。 - 大规模扩展(>8个开关):使用方法3,结合I2C/SPI接口。 - **关键注意事项**: - **信号防抖动**:所有开关需在Verilog中添加去抖动逻辑(如延时采样),避免误触发。 - **功耗与布线**:外部开关连接时,确保电阻匹配和电源稳定,防止信号干扰。 - **性能权衡**:复用方法会引入$10-100\mu s$延迟,实时性要求高的场景慎用。 - **测试建议**: 参考引用[3],先在开发板上实现基础按键控制,再逐步添加扩展逻辑[^3]。使用仿真工具(如ModelSim)验证代码,确保可靠性。 ### 总结 扩展FPGA开发板输入开关的核心在于利用GPIO、复用技术或串行接口。方法1适合快速扩展,方法2和方法3则高效节省资源。根据您的开关数量和项目需求选择合适方案。FPGA的可编程特性使其成为处理输入扩展的理想平台,能显著提升系统的输入能力[^2]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值