Bài đăng

Đang hiển thị bài đăng từ Tháng 11, 2021

Hướng dẫn setup text editor Geany

 Tải Geany tại:  Releases | Geany Cài Plugins cho Geany:  Plugins for Geany [downloads]

Tri-state buffer trong giao tiếp UART bán song công

Hình ảnh
Tutorial - What is a Tri-State Buffer Why are tristate buffers needed in half-duplex communication How to infer tri-state buffers in Verilog and VHDL Tri-State buffers are able to be in one of three states: Logic 0, Logic 1, and Z (high impedance). Their use allows for multiple drivers to share a common line. This makes them particularly useful in half-duplex communications. Let's first discuss the difference between half-duplex and full-duplex communications. Half Duplex vs. Full Duplex The common analogy to is to think of a two-way radio. The speaker is only able to transmit when he holds the button on the radio. When the speaker is transmitting the listener is unable to transmit. The speaker and listener must agree whose turn it is to talk. This is why you often hear, "over" in the movies, it means the speaker is done talking. This is an example of a half-duplex system. A full duplex system is one in which the speaker and listener can both speak and listen at the same

Hướng dẫn cài đặt WSL - Windows Subsystem for Linux

Hình ảnh
 Giới thiệu Thường thì khi cần phải dùng một phần mềm nào đó trên nền nhân Linux thì chúng ta phải dùng máy ảo chạy 1 distro linux (bản phân phối linux) nào đó ví dụ như Ubuntu, Red Hat, Fedora ... hoặc là phải chia ổ cứng để cài dualboot song song với Windows. Nhưng bây giờ có 1 cách thuận tiện là ta có thể tích hợp 1 bản phân phối linux như Ubuntu ngay trên Windows, chúng bao gồm các công cụ Command-line, các ứng dụng linux ... làm việc với Terminal giống hệt như trên Ubuntu và nó còn hỗ trợ ứng dụng có giao diện GUI (đang thử nghiệm) Một ví dụ về cách sử dụng là ta build code C++ bằng g++ ngay trên linux terminal ở Windows mà không phải cài máy ảo hay song song gì. Cách cài đặt 1. Mở Windows Powershell bằng quyền Admin 2. Trên Powershell nhập lệnh: wsl --install và ấn Enter 3. Đợi chạy xong ta khởi động lại máy, lúc mới khởi động lên sẽ hiện 1 cửa số bắt ta nhập unix username và mật khẩu, tên không có dấu cách, không bắt đầu bằng số là được. Nhập xong xuôi là hoàn thành. 4. Nhập: su

Sự khác nhau giữa 2 giao thức SPI và I2C

Hình ảnh
 SPI SPI được phát triển trong thập niên 1980 bởi Motorola như là 1 cách để giao tiếp giữa những vi điều khiển đời đầu của họ với những ngoại vi onboard như là EEPROM. Motorola, cũng như bất kỳ tổ chức nào khác, duy trì bất kỳ hình thức tiêu chuẩn hóa nào của giao thức SPI. Do tiêu chuẩn "de facto" này, việc triển khai có thể khác nhau giữa các nhà sản xuất. Hãy chắc chắn rằng bạn đọc kỹ datasheet cho từng phần liên quan đến SPI!  SPI dùng 4 đường tín hiệu tích cực (không bao gồm nguồn và đất) để giao tiếp giữa các phần. - SCLK: Serial Clock (điều khiển bởi master) - MOSI: Master Out Slave In (điều khiển bởi master) - MISO : Master In Slave Out (điều khiển bởi thiết bị slave) - SS: Slave Select (điều khiển bởi master) Với 4 tín hiệu này, 1 thiết bị điều khiển (master) có thể giao tiếp với những thiết bị ngoại vi khác (slave) Kết nối SPI kiểu điểm-điểm Trong khi ta chỉ có 1 master trên SPI bus thì ta có thể thêm số lượng bất kỳ các ngoại vi. Với mỗi ngoại vi thêm vào thì ta ph

Giới thiệu công cụ Xlinx System Generator

Hình ảnh
- Xilinx là nhà phát triển hàng đầu hiện nay trong lĩnh vực chip khả trình. Được thành lập bởi Ross Freeman, Bernie Vonderschmitt, và Jim Barnett, và có trụ sở tại thung lũng Silicon. Trụ sở chính hiện nay ở San Jose , California. Là thành viên của nhóm 100 công ty hàng đầu thế giới hiện nay do tạp chí Fortune bình chọn. - Xilinx là nhà phát triển FPGA, CPLD được sử dụng rộng rãi trong những ứng dụng truyền thông, tự động hóa, mật mã...và các lĩnh vực khác. Các sản phẩm phần cứng của Xilin gồm có các dòng CPLD: CoolRunner, các họ FPGA như Spartans, Virtex... 1. Xilinx System Generator - Xilinx System Generator (XSG) [1] [3] là công cụ phát triển hệ thống cho FPGA, cho phép thiết kế hệ thống ở dạng các khối, và hỗ trợ mô phỏng, debug, tạo code để nạp vào FPGA hoặc kết hợp vào những ứng dụng lớn hơn. Hình 1 mô tả quy trình chung cho việc thiết kế trên XSG. - XSG được xây dựng như một Blockset của Simulink trong Matlab. Do đó, XSG thừa hưởng tất cả các ưu điểm của Simuli

Hướng dẫn dùng mạch nạp ST-LINK v2 Mini cho kit Blue Pill

Hình ảnh
 Cài đặt lần đầu tiên: Bước 1: Tải và cài đặt phẩn mềm STM32 ST-LINK Utility: http://www.st.com/web/en/catalog/tools/PF258168 Ta sẽ phải nhập tên và email sau đó link tải phần mềm sẽ được gửi đến email, nếu có điều khoản thì ấn ACCEPT Cài đặt phần mềm như bình thường, hiện thông báo cài driver thì ta đồng ý cho nó cài Bước 2: Sau khi cài đặt phần mềm mạch nạp thành công, ta sẽ kết nối mạch nạp với kit như hình sau Cắm ST-Link V2 vào cổng USB của máy tính, chờ máy tính báo nhận phần cứng Sau đó bật phần mềm STM32 ST-LINK Utility, trên thanh công cụ chọn Target -> Connect, sau khi phần mềm báo kết nối thành công như hình dưới thì ta tiến hành update firmware cho mạch nạp. Trên thanh công cụ chọn ST-LINK->Firmware update, sau đó chọn Device Connect và  Yes>>>> để bắt đầu quá trình cập nhật, nếu cập nhật thành công thì sẽ được như hình sau: Nếu hiện lỗi "ST-Link is not in the DFU mode", thì ta rút ST-LINK ra khỏi máy tính sau đó cắm lại, ngay lúc cắm lại thì t

VHDL cơ bản 00: Giới thiệu ngôn ngữ VHDL

Hình ảnh
  - VHDL là một ngôn ngữ mô tả phần cứng (HDL) được sử dụng để mô tả một hệ thống thiết kế logic. Được dùng trong thiết kế CPLD hoặc FPGA, phần mềm sẽ nạp chương trình vào CPLD hoặc FPGA để có được một hệ thống logic mà chúng ta đã thiết kế. - VHDL viết tắt của VHSIC Hardware Description Language. VHSIC lại là 1 từ viết tắt của Very High Speed Integrated Circuit. VHDL là ngôn ngữ mô tả phần cứng được phát triển dùng cho chương trình VHSIC (Very High Speed Intergrated Circuit) của bộ quốc phòng Mỹ. - Hầu hết câu lệnh trong VHDL xảy ra đồng thời (song song với nhau), chứ không phải là xảy ra tuần tự như C, C++.... Điều này là một khó khăn cho những người đã quen với việc lập trình phần mềm bắt đầu lập trình VHDL. Tuy nhiên, khi đã quen với cách lập trình của ngôn ngữ mô tả phần cứng, điều này sẽ rất dễ dàng. Nên các bạn cứ yên tâm :v . - Trước khi VHDL ra đời, có nhiều ngôn ngữ mô tả phần cứng được sử dụng nhưng không có một tiêu chuẩn thống nhất. Vì các ngôn ngữ mô phỏng phần cứng đó đư

Cơ bản về FPGA: Khái niệm FPGA và ASIC

Hình ảnh
1. FPGA là gì??  FPGA là viết tắt của Field Programmable Gate Array, tạm dịch sang tiếng Việt là một loại vi mạch dùng cấu trúc mảng phần tử logic có thể lập trình được.  Hay có thể hiểu nôm na nó là một loại chip trắng cho phép người dùng có thể tái cấu hình lại kiến trúc theo ý người dùng để thực thi một chức năng cụ thể.   Các phần tử logic ở đây chính là các cổng logic (AND, OR, NOT, NAND, NOR...), các Look-up-table, các Flip-flop (RS, RSH, JK, D, T). Ta có thể viết code để hiện thức hoá những kết nối vật lý (với dây dẫn) giữa những phần tử này và thực hiện các chức năng mong muốn.  Như ta thấy trong hình ở đầu bài thì FPGA chính là con chip ở giữa board, còn những phần tử khác là ngoại vi được kết nối với FPGA để ta có thể dễ dàng phát triển. 2. ASIC là gì?? ASIC là viết tắt của Application Specific Integrated Circuit. ASIC về lý thuyết là giống với FPGA, trừ 1 điểm là nó được sản xuất như 1 mạch tuỳ biến. Điều đó có nghĩa là khác với FPGA thì ASIC không khả trình. Vì ASIC là mạch