如何使用hd-idle

首先安装hd-idle

sudo apt-get install hd-idle

然后打开hd-idle的配置文件

sudo vim /etc/default/hd-idle

在最下面增加这行命令 

HD_IDLE_OPTS="-i 0 -a /dev/sda -i 600"

第一个 -i 0 是为了在默认情况下禁用磁盘休眠,将默认空闲时间设置为0。然后后面在选定的磁盘上重新启用休眠,设定休眠时间为600s。

最后重启服务

sudo service hd-idle restart

SDI(Serial Digital Interface)是一种用于数字视频信号传输的标准接口,常用于广播、电视制作和视频监控等领域。SDI包括SD-SDI、HD-SDI、3G-SDI等多种规格,其中最常见的是HD-SDI。 下面是一个简单的SDI编解码的Verilog实现,包括SDI接收端和发送端。该实现仅支持HD-SDI规格,即1.485Gbps的传输速率。 SDI接收端: ```verilog module sdi_rx ( input clk, input rst, input sdi_in, output reg [9:0] data_out, output reg [2:0] ctrl_out, output reg err_out ); parameter IDLE = 3'd0; parameter HEADER = 3'd1; parameter DATA = 3'd2; parameter PARITY = 3'd3; reg [2:0] state; reg [9:0] data_reg; reg [2:0] ctrl_reg; reg [9:0] crc_reg; reg crc_en; reg [4:0] crc_cnt; reg crc_err; always @(posedge clk or posedge rst) begin if (rst) begin state <= IDLE; data_reg <= 0; ctrl_reg <= 0; crc_reg <= 0; crc_en <= 0; crc_cnt <= 0; crc_err <= 0; err_out <= 0; end else begin case (state) IDLE: begin if (sdi_in == 1'b0) begin state <= HEADER; crc_en <= 1; crc_cnt <= 4; end end HEADER: begin data_reg <= {data_reg[7:0], sdi_in}; ctrl_reg <= {ctrl_reg[1:0], sdi_in}; if (ctrl_reg == 3'b000) begin state <= DATA; crc_en <= 1; crc_cnt <= 10; end else if (ctrl_reg == 3'b010) begin state <= PARITY; crc_en <= 1; crc_cnt <= 10; end else if (ctrl_reg == 3'b101) begin state <= IDLE; if (crc_reg == 10'd0 && crc_err == 0) begin data_out <= data_reg; ctrl_out <= ctrl_reg; end else begin err_out <= 1; end end else begin state <= IDLE; err_out <= 1; end end DATA: begin data_reg <= {data_reg[7:0], sdi_in}; ctrl_reg <= {ctrl_reg[1:0], sdi_in}; if (crc_en) begin crc_reg <= crc_reg ^ {2'b00, sdi_in}; crc_cnt <= crc_cnt - 1; if (crc_cnt == 0) begin crc_en <= 0; crc_cnt <= 4; end end if (ctrl_reg == 3'b101) begin state <= IDLE; if (crc_reg == 10'd0 && crc_err == 0) begin data_out <= data_reg; ctrl_out <= ctrl_reg; end else begin err_out <= 1; end end end PARITY: begin if (sdi_in == crc_err) begin crc_err <= 1; end if (crc_en) begin crc_reg <= crc_reg ^ {2'b00, sdi_in}; crc_cnt <= crc_cnt - 1; if (crc_cnt == 0) begin crc_en <= 0; crc_cnt <= 4; end end if (ctrl_reg == 3'b101) begin state <= IDLE; if (crc_reg == 10'd0 && crc_err == 0) begin data_out <= data_reg; ctrl_out <= ctrl_reg; end else begin err_out <= 1; end end end endcase end end endmodule ``` SDI发送端: ```verilog module sdi_tx ( input clk, input rst, input [9:0] data_in, input [2:0] ctrl_in, output reg sdi_out ); parameter IDLE = 3'd0; parameter HEADER = 3'd1; parameter DATA = 3'd2; parameter PARITY = 3'd3; reg [2:0] state; reg [9:0] data_reg; reg [2:0] ctrl_reg; reg [9:0] crc_reg; reg crc_en; reg [4:0] crc_cnt; always @(posedge clk or posedge rst) begin if (rst) begin state <= IDLE; data_reg <= 0; ctrl_reg <= 0; crc_reg <= 0; crc_en <= 0; crc_cnt <= 0; end else begin case (state) IDLE: begin sdi_out <= 1'b1; if (ctrl_in == 3'b000) begin state <= HEADER; crc_en <= 1; crc_cnt <= 4; end end HEADER: begin sdi_out <= ctrl_reg[2]; data_reg <= {data_reg[7:0], sdi_out}; ctrl_reg <= {ctrl_reg[1:0], sdi_out}; if (ctrl_reg == 3'b000) begin state <= DATA; crc_en <= 1; crc_cnt <= 10; end else if (ctrl_reg == 3'b010) begin state <= PARITY; crc_en <= 1; crc_cnt <= 10; end else if (ctrl_reg == 3'b101) begin state <= IDLE; end else begin state <= IDLE; end end DATA: begin sdi_out <= data_reg[9]; data_reg <= {data_reg[7:0], data_in[0]}; ctrl_reg <= {ctrl_reg[1:0], data_in[1]}; if (crc_en) begin crc_reg <= crc_reg ^ {2'b00, sdi_out}; crc_cnt <= crc_cnt - 1; if (crc_cnt == 0) begin crc_en <= 0; crc_cnt <= 4; end end if (ctrl_in == 3'b101) begin state <= HEADER; crc_en <= 1; crc_cnt <= 4; end end PARITY: begin sdi_out <= crc_reg[9]; if (crc_en) begin crc_reg <= crc_reg ^ {2'b00, sdi_out}; crc_cnt <= crc_cnt - 1; if (crc_cnt == 0) begin crc_en <= 0; crc_cnt <= 4; end end if (ctrl_in == 3'b101) begin state <= HEADER; crc_en <= 1; crc_cnt <= 4; end end endcase end end endmodule ``` 以上是一个简单的SDI编解码的Verilog实现,仅供参考。实际应用中,需要考虑更多的细节和特殊情况。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值