mình đang làm đề tài hiển thị ảnh lên monitor thông qua VGA của kit DE2 mà ko biết làm thế nào. mình đọc tài liệu mà cũng chưa hiểu lắm. bạn nào đã làm rồi có thể hướng dẫn cho mình được không? thanks nhiều nhiều
Thông báo
Collapse
No announcement yet.
VGA trên DE2
Collapse
X
-
Nguyên văn bởi ruaconb52 Xem bài viếtmình đang làm đề tài hiển thị ảnh lên monitor thông qua VGA của kit DE2 mà ko biết làm thế nào. mình đọc tài liệu mà cũng chưa hiểu lắm. bạn nào đã làm rồi có thể hướng dẫn cho mình được không? thanks nhiều nhiều
Bạn có thể cho mình mail để tiện trao đổi không. Hoặc bạn liên lạc với mình qua email : a.nguyen.mh@gmail.com
Comment
-
mình có code này ko có lỗi nhưng gắn monitor thì ko chạy được. bạn nào phát hiện lỗi thì cho mình biết nha.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY vga IS
PORT (CLOCK_50 : IN std_logic; --50Mhz clock
KEY : IN std_logic_vector(3 downto 0); --RESET
VGA_B: OUT std_logic_vector(9 downto 0);
VGA_R: OUT std_logic_vector(9 downto 0);
VGA_G: OUT std_logic_vector(9 downto 0);
VGA_CLK : OUT std_logic;
VGA_BLANK :OUT std_logic; --active low
VGA_SYNC : OUT std_logic;
VGA_HS : OUT std_logic;
VGA_VS : OUT std_logic);
END vga;
ARCHITECTURE vg OF vga IS
SIGNAL line_fin : std_logic; --variable to determine if a line has finished drawing
SIGNAL line_count : integer; --variable for counting the amount of lines drawn
SIGNAL frame_fin : std_logic; --variable to determine if a frame had finished drawing
SIGNAL CLOCK_25 : std_logic; --25Mhz clock
CONSTANT P1 : integer := 24; --Front porch (horizontal)
CONSTANT P2 : integer := 48; --Back porch (horizontal)
CONSTANT HSYNC_TIME : integer := 95; -- H_Sync pulse lenght
CONSTANT V1 : integer := 11250; --Front porch (vertical)
CONSTANT V2 : integer := 25500; --Back porch (vertical)
CONSTANT VSYNC_TIME : integer := 1600; -- V_Sync pulse lenght
BEGIN
VGA_SYNC<= '0';
pixel_draw : PROCESS(CLOCK_25,KEY(0)) --for drawing pixels and generating blank pulses
VARIABLE hcount : INTEGER := 0;
VARIABLE vcount : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
hcount := 0;
vcount := 0;
line_fin <= '0';
frame_fin <= '0';
line_count <= 0;
VGA_BLANK <= '1';
ELSIF rising_edge(CLOCK_25) THEN
IF line_count < 480 THEN
IF hcount < 640 THEN
VGA_R <= "1111111111";--send pixel information each clock_cycle
VGA_B <= "0000000000";
VGA_G <= "0000000000";
VGA_BLANK <= '1';
hcount := hcount+1;
line_fin <= '0';
ELSIF hcount = 640 THEN
line_fin <= '1'; --line finished, pulse line_fin and start blank pulse
hcount := hcount+1;
VGA_BLANK <= '0';
ELSIF hcount >640 and hcount <= 640+P1+HSYNC_TIME+P2 THEN
hcount := hcount+1;--keep blank pulse low for a set amount of time
line_fin <= '0';
VGA_BLANK <= '0';
ELSE
hcount := 1; --reset counters and increment line_counter
line_count <= line_count+1;
END IF;
ELSIF line_count = 480 THEN
IF vcount < 1 THEN --frame is finished; pulse frame_fin and initiate vertical blank pulse
vcount := vcount+1;
VGA_BLANK <= '0';
frame_fin <= '1';
ELSIF vcount >= 1 and vcount < V1+V2+VSYNC_TIME THEN
vcount := vcount+1; --keep blank pulse low for a set amount of time
frame_fin <= '0';
VGA_BLANK <= '0';
ELSE
vcount := 0; -- reset counters and line_counter
VGA_BLANK <= '1';
line_count <= 0;
END IF;
END IF;
END IF;
END PROCESS;
horizontal_synchronisation : PROCESS(CLOCK_25,KEY(0))
VARIABLE hsync_counter : INTEGER := 0;
VARIABLE hsync_started : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
VGA_HS <= '1';
hsync_counter := 0;
hsync_started := 0;
ELSIF rising_edge(CLOCK_25) THEN
IF line_fin = '1' or hsync_started = 1 THEN
hsync_started:= 1;
IF hsync_counter <= P1 THEN
hsync_counter := hsync_counter+1;--hsync stays high during front porch
VGA_HS <= '1';
ELSIF hsync_counter >= P1-1 and hsync_counter <= HSYNC_TIME+P1 THEN
hsync_counter := hsync_counter+1;--hsync activated
VGA_HS <= '0';
ELSIF hsync_counter >= HSYNC_TIME+P1-1 and hsync_counter < HSYNC_TIME+P1+P2 THEN
hsync_counter := hsync_counter+1;--hsync stays high during back porch
VGA_HS <= '1';
ELSE
hsync_counter := 0;--reset variables and counters
VGA_HS <= '1';
hsync_started := 0;
END IF;
ELSE
VGA_HS <= '1';
END IF;
END IF;
END PROCESS;
vertical_synchronisation : PROCESS(CLOCK_25,KEY(0))
VARIABLE vsync_counter : INTEGER := 0;
VARIABLE vsync_started : INTEGER := 0;
BEGIN
IF KEY(0) = '0' THEN
VGA_VS <= '1';
vsync_counter := 0;
vsync_started := 0;
ELSIF rising_edge(CLOCK_25) THEN
IF frame_fin = '1' or vsync_started = 1 THEN
vsync_started := 1;
IF vsync_counter < V1-1 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '1';
ELSIF vsync_counter >= V1-1 and vsync_counter < VSYNC_TIME+V1-1 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '0';
ELSIF vsync_counter >= VSYNC_TIME+V1-1 and vsync_counter < VSYNC_TIME+V1+V2 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '1';
ELSE
vsync_counter := 0;
VGA_VS <= '1';
vsync_started := 0;
END IF;
ELSE
VGA_VS <= '1';
END IF;
END IF;
END PROCESS;
vga_clk_gen : PROCESS(CLOCK_50,KEY(0))--devides 50MHz clock in 2, making it a 25MHz clock
VARIABLE count : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
CLOCK_25 <= '0';
VGA_CLK <= '0';
count := 0;
ELSIF rising_edge(CLOCK_50) THEN
IF count = 0 THEN
CLOCK_25 <= '1'; --1 period of 50MHz high
VGA_CLK <= '1';
count := 1;
ELSIF count = 1 THEN
CLOCK_25 <= '0'; --1 period of 50MHz low
VGA_CLK <= '0';
count := 0;
END IF;
END IF;
END PROCESS;
END vg;
Comment
-
mình có code này ko có lỗi nhưng gắn monitor thì ko chạy được. bạn nào phát hiện lỗi thì cho mình biết nha.
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
USE ieee.numeric_std.ALL;
ENTITY vga IS
PORT (CLOCK_50 : IN std_logic; --50Mhz clock
KEY : IN std_logic_vector(3 downto 0); --RESET
VGA_B: OUT std_logic_vector(9 downto 0);
VGA_R: OUT std_logic_vector(9 downto 0);
VGA_G: OUT std_logic_vector(9 downto 0);
VGA_CLK : OUT std_logic;
VGA_BLANK :OUT std_logic; --active low
VGA_SYNC : OUT std_logic;
VGA_HS : OUT std_logic;
VGA_VS : OUT std_logic);
END vga;
ARCHITECTURE vg OF vga IS
SIGNAL line_fin : std_logic; --variable to determine if a line has finished drawing
SIGNAL line_count : integer; --variable for counting the amount of lines drawn
SIGNAL frame_fin : std_logic; --variable to determine if a frame had finished drawing
SIGNAL CLOCK_25 : std_logic; --25Mhz clock
CONSTANT P1 : integer := 24; --Front porch (horizontal)
CONSTANT P2 : integer := 48; --Back porch (horizontal)
CONSTANT HSYNC_TIME : integer := 95; -- H_Sync pulse lenght
CONSTANT V1 : integer := 11250; --Front porch (vertical)
CONSTANT V2 : integer := 25500; --Back porch (vertical)
CONSTANT VSYNC_TIME : integer := 1600; -- V_Sync pulse lenght
BEGIN
VGA_SYNC<= '0';
pixel_draw : PROCESS(CLOCK_25,KEY(0)) --for drawing pixels and generating blank pulses
VARIABLE hcount : INTEGER := 0;
VARIABLE vcount : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
hcount := 0;
vcount := 0;
line_fin <= '0';
frame_fin <= '0';
line_count <= 0;
VGA_BLANK <= '1';
ELSIF rising_edge(CLOCK_25) THEN
IF line_count < 480 THEN
IF hcount < 640 THEN
VGA_R <= "1111111111";--send pixel information each clock_cycle
VGA_B <= "0000000000";
VGA_G <= "0000000000";
VGA_BLANK <= '1';
hcount := hcount+1;
line_fin <= '0';
ELSIF hcount = 640 THEN
line_fin <= '1'; --line finished, pulse line_fin and start blank pulse
hcount := hcount+1;
VGA_BLANK <= '0';
ELSIF hcount >640 and hcount <= 640+P1+HSYNC_TIME+P2 THEN
hcount := hcount+1;--keep blank pulse low for a set amount of time
line_fin <= '0';
VGA_BLANK <= '0';
ELSE
hcount := 1; --reset counters and increment line_counter
line_count <= line_count+1;
END IF;
ELSIF line_count = 480 THEN
IF vcount < 1 THEN --frame is finished; pulse frame_fin and initiate vertical blank pulse
vcount := vcount+1;
VGA_BLANK <= '0';
frame_fin <= '1';
ELSIF vcount >= 1 and vcount < V1+V2+VSYNC_TIME THEN
vcount := vcount+1; --keep blank pulse low for a set amount of time
frame_fin <= '0';
VGA_BLANK <= '0';
ELSE
vcount := 0; -- reset counters and line_counter
VGA_BLANK <= '1';
line_count <= 0;
END IF;
END IF;
END IF;
END PROCESS;
horizontal_synchronisation : PROCESS(CLOCK_25,KEY(0))
VARIABLE hsync_counter : INTEGER := 0;
VARIABLE hsync_started : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
VGA_HS <= '1';
hsync_counter := 0;
hsync_started := 0;
ELSIF rising_edge(CLOCK_25) THEN
IF line_fin = '1' or hsync_started = 1 THEN
hsync_started:= 1;
IF hsync_counter <= P1 THEN
hsync_counter := hsync_counter+1;--hsync stays high during front porch
VGA_HS <= '1';
ELSIF hsync_counter >= P1-1 and hsync_counter <= HSYNC_TIME+P1 THEN
hsync_counter := hsync_counter+1;--hsync activated
VGA_HS <= '0';
ELSIF hsync_counter >= HSYNC_TIME+P1-1 and hsync_counter < HSYNC_TIME+P1+P2 THEN
hsync_counter := hsync_counter+1;--hsync stays high during back porch
VGA_HS <= '1';
ELSE
hsync_counter := 0;--reset variables and counters
VGA_HS <= '1';
hsync_started := 0;
END IF;
ELSE
VGA_HS <= '1';
END IF;
END IF;
END PROCESS;
vertical_synchronisation : PROCESS(CLOCK_25,KEY(0))
VARIABLE vsync_counter : INTEGER := 0;
VARIABLE vsync_started : INTEGER := 0;
BEGIN
IF KEY(0) = '0' THEN
VGA_VS <= '1';
vsync_counter := 0;
vsync_started := 0;
ELSIF rising_edge(CLOCK_25) THEN
IF frame_fin = '1' or vsync_started = 1 THEN
vsync_started := 1;
IF vsync_counter < V1-1 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '1';
ELSIF vsync_counter >= V1-1 and vsync_counter < VSYNC_TIME+V1-1 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '0';
ELSIF vsync_counter >= VSYNC_TIME+V1-1 and vsync_counter < VSYNC_TIME+V1+V2 THEN
vsync_counter := vsync_counter+1;
VGA_VS <= '1';
ELSE
vsync_counter := 0;
VGA_VS <= '1';
vsync_started := 0;
END IF;
ELSE
VGA_VS <= '1';
END IF;
END IF;
END PROCESS;
vga_clk_gen : PROCESS(CLOCK_50,KEY(0))--devides 50MHz clock in 2, making it a 25MHz clock
VARIABLE count : INTEGER := 0;
BEGIN
IF KEY(0)= '0' THEN
CLOCK_25 <= '0';
VGA_CLK <= '0';
count := 0;
ELSIF rising_edge(CLOCK_50) THEN
IF count = 0 THEN
CLOCK_25 <= '1'; --1 period of 50MHz high
VGA_CLK <= '1';
count := 1;
ELSIF count = 1 THEN
CLOCK_25 <= '0'; --1 period of 50MHz low
VGA_CLK <= '0';
count := 0;
END IF;
END IF;
END PROCESS;
END vg;
Comment
-
Hi ruacon52,
Khi bạn chạy trên KIT DE2, bạn có để ý đèn màng hình không? Thông thường nếu nó chớp tắt (Màng hình VGA, không phải LCD nha) thì phần đồng bộ có vấn đề. Trên đĩa DE2 system (đi kèm với KIT) có một số phần demo liên quan đến VGA (Không nhớ rõ là viết bằng VHDL hay Verilog HDL), bạn có thể tham khảo. Còn thông số để setup cho VGA thì bạn có thể tham khảo những trang web mà bạn ToanXT đã đưa ra trong http://dientuvietnam.net/forums/showthread.php?t=29283.
Chúc bạn thành công.
Comment
-
Mình cũng đang làm đề tài này nhưng chỉ dừng ở mức mới giao tiếp được với monitor.Hiện nay mình đang muốn hiển thị 1 ảnh RGB 256x256x24 từ SRAM lên VGA nhưng chưa được.Lúc hiển thị thì chỉ hiện ra được 1 khung hình 256x256 nhưng toàn nhiễu.Mình thực hiện theo cách sau,sai chỗ nào xin mọi người chỉ giúp.
-Một pixel được lưu bằng 2 words (16bit) của SRAM.words có địa chỉ chẵn sẽ lưu giá trị của R và G,byte có địa chỉ lẻ lưu giá trị của B dưới dạn 00B.
-Địa chỉ truy xuất Sram được cập nhật liên tục bằng xung clock 50mhz,dựa vào tọa độ của pixel cần hiển thị.Dùng thêm 1 clk 25mhz để xác định là địa chỉ lẻ hoặc địa chỉ chẵn.
Comment
-
Làm vậy hình bị nhiễu là đúng rồi. Vì yêu cầu bạn phải xuất đồng thời 24 bit màu. Chứ không phải xuất tùng màu như bạn. Mà SRAM thì chỉ có 16 bit. Vậy sao bây giờ???
Bạn dùng SRAM là đúng. Cái này sẽ hiển thị tốt cho ảnh 16 bit màu. Để hiển thị ảnh 24 bit màu bạn có thể kết hợp hai bộ RAM. Một bộ RAM có trong FPGA và một là SRAM.
SRAM chứa dữ liệu của RG.
FPGA RAM chứa dữ liệu B. (hoặc thay đổi khác đi chút cũng được). Vậy thì có thể xuất đồng thời cả ba màu rồi.
Cái này năm ngoái tôi làm rồi. Chạy good lắm. Nhưng hình như chỉ làm ở kích thước 100x100 thôi. Vì giớ hạn của bộ RAM trong FPGA.
Thân chào.
Comment
-
bạn phuongnhoc làm rồi có thể share chương trình cho mình được không? mình cũng đang làm về hiển thị ảnh chứa trong sdram ra màn hình. giờ vẫn chưa biết quy trình làm như thế nào? bạn có thể hướng dẫn kĩ hơn chút được không?
địa chỉ mail của mình là ngobaviet@gmail.com.
thanks bạn nhiều
Comment
-
Oh`. Bạn làm hiển thị ảnh tư` SDRAM à. Đã giao tiếp được với SDRAM chưa.
Sorry mình không thể cho bạn code được. Nếu bạn cần hướng dẫn làm đề tài LV này thì có thể liên hệ với mình. Mình đã làm thành công đề tài
+ Trình diễn ảnh từ SD_card,.
+ Xử lý ảnh (các phương pháp lọc ảnh)". Chuẩn ảnh 24 bit màu.
+ Game with DE2 KIT
Nếu bạn nào cần hướng dẫn lv có thể liên hệ mình qua email: nguyentrungkien31111@yahoo.com
or 090 707 1167
Comment
-
Hi,
Dùng SRAM 256x16bit trên DE2 thì bạn cho chạy 50MHz. Do 1 pixel phải được xác định trong 1 chu kỳ 25MHz tức là 2 lần chu kỳ 50MHz. Như vậy 1 xung clock 25MHz thì bạn phải có 24bit màu (đúng hơn là 10x3 = 30 bit) => 1pixel phải dùng 2words <=> 32 bits hay truy xuất SRAM 2 lần và sử dụng chế độ 16bits. Như vậy màng hình rộng nhất có thể là 256x512 (RGB) (Còn vời ảnh mức xám thì đơn giản hơn nhiều vì R=G=B, như thế bạn sẽ giảm dụng lượng ô nhớ xuống 3 lần hay bạn có thể lưu ảnh lớn hơn). (Thật ra có thể rộng hơn chút nữa nhưng không cần thiết phải làm như thế). Cái mình nói trên đây chỉ là ảnh tỉnh thôi nha! Còn với Video thì làm cách khác. Nếu bạn muốn màng hình có độ phân giải cao hơn thì bạn có thể dùng SDRAM nhưng như thế bạn phải làm SDRAM Controller để giao tiếp với SDRAM, cái này thì không khó nhưng sẽ làm bạn mất thời gian đó.
Hi vong những thông tin này giúp ích cho các bạn muốn hiển thị ảnh tỉnh trên VGA dùng kit De2.
Comment
-
Làm như Danbeo85 thì mình chưa thử. Vì sợ các lý do sau:
+ Cần chuẩn bị sẳn 24 bit màu trước khi có cạnh lên xung Clock để đưa vào VGA. Vì ngay cạnh lên của xung Clock 24bit dữ liệu sẽ được chuyển vào thanh ghi đệm của VGA chip.
+ 24 bit cần được cấp đồng thời. Do vậy bạn cần có cách thanh ghi để chốt dữ liệu cho 2 byte cao và hai byte thấp.
+ Tính toán timming và latency cẩn thận.
=> có vẻ dùng tần số 100Mhz sẽ dễ điều khiẻn hơn vì có dư thời gian cho việc xuất dữ liệu.
Chỉ là lý thuyết thôi. Mình chưa thực hiện nên không chắc.
P/s Danbeo85: Hồi xưa làm SDRAM controller chưa vậy. Chỉ cho mình hướng giải quyết với. Sắp tậu được cái kit DE2 rồi.
Comment
-
SDR SDRAM Controller (Mình không đề cập đến DDR nha!)là một đề tài khác bạn ơi! Nhưng thật ra nó không quá khó để làm.
1) Bạn tìm hiểu cấu tạo DRAM và SDRAM nói chung để biết được cái khác biệt với SRAM là gì!
2) Tham khảo chuẩn JDEC về SDRAM (nếu không thể tìm được thì bạn có thể xem datasheet của các hãng làm SDRAM như Micron, Samsung, ... Nếu bạn có tài datasheet của SDRAM trên KIT DE2 thì cũng OK) để biết:
a) Những chân dùng để giao tiếp với SDRAM
b) Sơ đồ máy trạng thái của SDRAM
c) Các độ trễ cần thiết giữa các lệnh
3) Khi mô phỏng bộ điều khiễn bạn nên dùng SDRAM model của MICRON để mô phỏng nha vì cái này miễn phí và không bị mã hóa (SAMSUNG bị mã hóa). Các model sẽ đi cùng datasheet của SDRAM. Một lưu ý nhỏ là các model này đã kèm độ trễ nên khi mô phỏng chức năng của bộ điều khiển, bạn nhớ bỏ qua các báo lỗi về vấn đề này, bạn chỉ nên để ý đến các báo lỗi về chức năng thôi.
4) Tổng hợp và mô phỏng timing (mô phỏng có độ trễ). Tại thời điểm này thì sẽ không còn bất cứ lỗi nào được phép xảy ra nha!
5) Lưu ý: Bạn nên dùng một chuẩn giao tiếp thông dụng để viết lớp vỏ ngoài cho bộ điều khiển (Avalon Memory Map, AMBA AHB, ...) như thế sẽ thuận tiện trong việc gắng bộ điều khiển vào hệ thống.
Hi vọng những điều trên sẽ có ích cho bạn. Chúc bạn thành công!
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi nguyendinhvanTheo tôi thì khi hpj sản xuất ra cái loa đó, đã có nhiều chuyên gia kỹ thuật hiệu chỉnh, tính toán các phần tử kỹ lưỡng rồi.
Bây giờ tính toán hiệu chỉnh lại cần có đội ngũ tương đương với nhà sản xuất.
Cách đơn giản...-
Channel: Điện thanh
hôm nay, 00:04 -
-
bởi Ng.Phuong.5Vấn đề cũ: khi in mạch ra pdf và bấm chọn Keep Drill Holes Open, in ra thì pdf trắng đen các lỗ chân linh kiện như nhau. Mặc dù có linh kiện phần Drill là 1mm, có linh kiện thì là 3mm. Cho em hỏi cách sửa phần này ở Orcad 9.2 với ạ.
Mấy con...-
Channel: Hướng dẫn sử dụng diễn đàn
Hôm qua, 22:44 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi mèomướpDạ cháu có ý tốt muốn động viên chú ấy ngâm cứu khoa học thôi ạ. Về phần kiểm tra dao động thì chú ấy chưa biết thì sẽ tìm hiểu được là cần những gì ạ, chắc chắn là khi hướng dẫn phần ấy các cô chú nào đó sẽ lưu ý cần loại sò công suất ra tránh cháy nổ rồi ạ....
-
Channel: Điện tử công suất
Hôm qua, 19:02 -
-
Trả lời cho Sửa bộ nguồn DC 60V 45Abởi tuyennhanChủ thớt hỏi có kiểm tra được dao động mà không cấp nguồn thì rõ trình ở mức nào mà mèo còn xúi ngâm cứu nữa ác vậy ....
-
Channel: Điện tử công suất
Hôm qua, 15:43 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi tuyennhanLoa bass đấu trực tiếp không qua phân tần để thành loa toàn dải xem có thoát tiếng khộng , nếu không thoát cần phải sửa lại mạch cs hay âm sắc nếu đủ trình còn nếu thoát ca hay nhưng chưa vừa ý vì bass kém chăc thì đấu lại như cũ và đấu thêm loa mid treble bên ngoài .
-
Channel: Điện thanh
Hôm qua, 15:28 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ loa tép bé xíu như ngón chân cái thôi ạ. Thiếu gì chỗ để đâu. Quan trọng là gắn thêm nó loa nghe ok hay ko thôi ạ...
-
Channel: Điện thanh
Hôm qua, 11:44 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi viettinhNó không phải cái loa rời. Chả nhẽ đèo thêm 2 con loa tép ngoài thì kỳ lắm....
-
Channel: Điện thanh
Hôm qua, 09:45 -
-
Trả lời cho Cần tư vấn cải thiện chất âm thanh loa SoNy.bởi mèomướpDạ chú mua thêm loa tép nối tiếp qua con tụ rồi mắc vào cùng loa trung là được ạ...
-
Channel: Điện thanh
07-01-2025, 19:53 -
-
Trả lời cho Tìm datasheet linh kiện điện tử.bởi mèomướpDạ cháu hỏi bạn cháu thì bạn ấy trả lời như thế này ạ. Cháu cũng hông bít có đúng hông nữa ạ
Linh kiện điện tử với mã "943BA" và "W58BAL" là một loại cầu chì tự động (circuit breaker) do TE Connectivity sản...-
Channel: Điện tử dành cho người mới bắt đầu
07-01-2025, 19:50 -
-
bởi viettinhChuyện là mình mới đập hộp con loa kéo Sony SRS-XV900. Do khu vực mình k có sẵn hàng để trải nghiệm thực tế nên chỉ tham khảo các kênh revew online.
Mua về sử dụng thì thấy hơi buồn về chất âm, Mở max k to bằng cái loa kéo china, bass...-
Channel: Điện thanh
07-01-2025, 17:18 -
Comment