Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (417.02 KB, 78 trang )
<span class="text_page_counter">Trang 1</span><div class="page_container" data-page="1">
<b><small>TÓM TẮT NỘI DUNG THỰC HIỆN </small></b>
<small></small><i><small>Thiết kế một hệ thống mạng ứng dụng trong công nghiệp với các tính năng đặc biệt.Hệ thống mạng cho phép người sử dụng có thể điều khiển tất cả các Kit trong mạng cũng như nhận những dữ liệu từ các Kit gửi về.</small></i>
<small></small> <i><small>Cấu trúc mạng được thiết kế có 3 lớp :</small></i>
<i>Ngôn ngữ VHDL cài đặt trong XC95108 xử lý đồng bộ bit</i>
<i>CPU 89S8252 xử lý giao thức truyền và điều khiển</i>
<i>73M223 điều chế và giải điều chế FSK</i>
<i>Chương trình quản lý hệ thống mạng </i>
<b>1.GIỚI THIỆU MẠNG CÔNG NGHIỆP</b>
Trong nhiều thập niên qua việc ứng dụng mạng thông tin vào lĩnh vực công nghiệp đã bùng nổ rất mạnh mẽ.Các hệ thống mạng phát triển rất mạnh và đa dạng .
Việc ứng dụng mạng công nghiệp đã mang lại những lợi ích rõ nét
<i>Chi phí lắp đặt hệ thống</i>
<i>Nhân công điều hành</i>
<small>Máy </small>
<b>2.GIỚI THIỆU GIẢI THUẬT TÍNH CRC</b>
Trường kiểm tra lỗi FCS được thực hiện qua giải thuật tính CRC.Các CRC khác nhau ứng với các đa thức sinh ứng khác nhau.
<i>CRC8 =X^8 + X^2 + X^1 + 1</i>
<i>CRC16=X^16+ X^15+ X^2 + 1</i>
<i><b>Thuật tốn tính CRC:</b></i>
M:Bản tin cần phát
R:Phần dư kết quả chia G:Đa thức sinh
Thực hiện phép tính :
<b>3.ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ FSK</b>
Hệ thống mạng được thiết kế đặt trong môi trường công nghiệp .Do vậy dữ liệu rất dễ bị nhiễu và suy hao .Để tăng độ tin cậy trong việc truyền dữ liệu ,tín hiệu từ máy tính gửi xuống cần được điều chế và giải điều chế
<b>KHẢO SÁT ĐIỀU CHẾ FSK</b>
Tín hiệu điều chế FSK có tần số thay đổi tùy thuộc vào
</div><span class="text_page_counter">Trang 11</span><div class="page_container" data-page="11">Điều chế FSK rất thông dụng với việc truyền dữ liệu tốc độ thấp từ 300 đến 1200 baud.
</div><span class="text_page_counter">Trang 13</span><div class="page_container" data-page="13"><b>4. GIỚI THIỆU VỀ NGÔN NGỮ VHDL</b>
Very High Speed IC Hardware Description Language là một chuẩn dùng trong cơng nghiệp được viết tắt là
VHDL.Nó được coi là một ngôn ngữ mô tả phần cứng có thể dùng thiết kế các hệ thống số với các cấp độ khác nhau :từ mức là các giải thuật (cấp độ trừu tượng ) đến các mức cụ thể thực hiện trên các cổng logic
VHDL là dạng mô tả ngôn ngữ gần gũi với người thiết kế.VHDL bắt đầu từ những mô tả đơn giản đến các hệ thống phức tạp mới hình thành .Quá trình tiếp cận VHDL cũng được thực hiện qua trình tự như vậy .Các mơ tả đơn giản được chúng ta tiếp cận ,sau đó các thiết kế phức tạp hơn được xây dựng trên nền tảng đó.Q trình chúng ta tiếp cận như vậy đối với VHDL giúp chúng ta hiểu rõ hơn hệ thống thay vì chúng ta bắt tay ngay vào xây dựng một hệ thống lớn.
</div><span class="text_page_counter">Trang 15</span><div class="page_container" data-page="15"><b> 5. GIỚI THIỆU FPGA</b>
FPGA thích hợp cho nhiều ứng dụng vì chúng có tốc độ thích hợp (tầm xung nhịp: 50 đến 200 MHz). Các FPGA tiêu biểu chứa nhiều bản sao của một tế bào hay phần tử logic (LE=Logic Element) cơ bản lập trình được. Một
phần tử logic (LE) có thể cài đặt một mạng các cổng logic mà đưa vào 1 hay 2 flip flop. Các LE được sắp xếp theo cột hay ma trận trong chip.
</div><span class="text_page_counter">Trang 16</span><div class="page_container" data-page="16"><small>Để thực hiện các phép toán phức tạp, các LE được nối lại bằng cách dùng mạng nối kết lập trình được. Mạng này chứa các kết nối hàng và/hoặc cột cho toàn chip. Các nối kết giữa các LE gần nhau thì ngắn hơn và nhanh hơn.</small>
<small>Field-Programmable Gate Array (FPGA) đã xuất hiện như giải pháp cơ bản cho vấn đề tranh thủ thời gian để đưa ra thị trường và rủi ro tài chính phải gánh chịu trong q trình </small>
<small>nghiên cứu sản phẩm của cơng nghệ điện tử. Nó cho phép </small>
<small>chế tạo ngay và giá sản phẩm rất thấp. FPGA là 1 thiết bị cấu trúc logic có thể được người sử dụng lập trình trực tiếp mà </small>
<small>không phải sử dụng bất kỳ 1 công cụ chế tạo mạch tích hợp </small>
</div><span class="text_page_counter">Trang 17</span><div class="page_container" data-page="17"><b>Ứng dụng của FPGA</b>
FPGA có thể sử dụng trong hầu hết các ứng dụng hiện đang dùng MPGA, PLD và các mạch tích hợp nhỏ (SSI).
<i>Các mạch tích hợp ứng dụng đặc biệt (ASICs)</i>
<small></small>FPGA là một phương tiện tổng quát nhất để thực hiện các mạch logic số. Chúng đặc biệt thích hợp cho việc thực hiện các ASICs. Một số ví dụ ứng dụng đã được công bố: FIFO 1 megabit, giao tiếp vi
</div><span class="text_page_counter">Trang 18</span><div class="page_container" data-page="18"><small></small>Mạch logic ngẫu nhiên thường được thưc hiện bằng PAL. Nếu tốc độ của mạch khơng địi hỏi khắt khe (các PAL nhanh hơn hầu hết các FPGA) thì mạch có thể được thực hiện bằng FPGA. Hiện nay, FPGA có thể thực hiện 1 mạch cần từ 10 đến 20 PAL.
</div><span class="text_page_counter">Trang 19</span><div class="page_container" data-page="19"><small></small>Các mạch hiện tại trong các sản phẩm thương mại thường chứa nhiều chip SSI. Trong nhiều trường hợp các chip SSI này có thể được thay thế bằng FPGA và kết quả là giảm diện tích của board mạch.
</div><span class="text_page_counter">Trang 20</span><div class="page_container" data-page="20"><small></small>FPGA rất lý tưởng cho các ứng dụng tạo mẫu sản phẩm .Giá thành thực hiện thấp và cần thời gian ngắn để thực hiện thiết kế,cung cấp nhiều ưu điểm hơn so với các phương pháp truyền thống để chế tạo mẫu phần cứng. Các bản mẫu ban đầu có thể được thực hiện rất nhanh và những thay đổi sau đó được thực hiện dễ dàng và ít tốn kém ..
</div><span class="text_page_counter">Trang 21</span><div class="page_container" data-page="21"><small></small>Một loại máy tính hồn tồn mới có thể được chế tạo với các FPGA có thể tái lập trình ngay trên mạch FPGA. Các máy này có một mạch chứa các FPGA với các chân board nối với các chip lân cận giống như thông thường .Ý tưởng là 1 chương trình phần mềm có thể được biên dịch vào ngay phần cứng. Phần cứng này sẽ được thực hiện bằng cách lập trình bo mạch FPGA.
</div><span class="text_page_counter">Trang 22</span><div class="page_container" data-page="22">Phương pháp này có 2 ưu điểm chính:
1.Khơng cần q trình lấy lệnh như các bộ vi xử lý truyền thống vì phần cứng đã gộp cả các lệnh. Kết quả là tốc độ có thể tăng lên hàng trăm lần.
2.Mơi trường tính tốn có thể được thực hiện song song mức cao, làm tăng tốc thêm nữa.
</div><span class="text_page_counter">Trang 23</span><div class="page_container" data-page="23"><small></small>FPGA cho phép có thể thay đổi theo mong muốn cấu trúc của một máy đang hoạt động. Một ví dụ là các thiết bị máy tính từ xa có thể được thay đổi trực tuyến để khắc phục sự cố hay có lỗi thiết kế. Kiểu FPGA thích hợp nhất cho các ứng dụng này là những FPGA có các chuyển mạch lập trình được.
</div><span class="text_page_counter">Trang 24</span><div class="page_container" data-page="24">Phần mềm được viết mơ hình hoạt động của mạng cho
phép truy xuất đến các Kit trong mạng .Người sử dụng chỉ quan tâm đến lớp ứng dụng cần truy xuất đến Kit nào
trong mạng và dữ liệu là gì .Ở đây dữ liệu được biên dịch giữa phần mềm quản lý và các Kit một cách trong suốt .
<b>Kit CV: Kit convert làm nhiệm vụ điều chế FSK các </b>
khung dữ liệu từ máy tính gửi đến các Kit trong mạng đồng thời giải điều chế FSK các khung dữ liệu từ các Kit gửi về máy tính
</div><span class="text_page_counter">Trang 26</span><div class="page_container" data-page="26"><i><b><small> </small></b></i>
<b>2.1.Mạch convert.dsn:</b>
<i><b>Sơ đồ khối </b></i>
<b><small>ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ </small></b>
<b><small>TÍN HIỆU FSKGIAO TIẾP </small></b>
<b><small>TRUYỀN </small></b>
</div><span class="text_page_counter">Trang 28</span><div class="page_container" data-page="28"><i><b>Sơ đồ nguyên lý</b></i>
<small>V C CV C C</small>
<small>C 70 . 1C 50 . 1R 11 0 0 K</small>
<small>R 31 0 0 KC 2</small>
<small>0 . 1P 1</small>
<small>C 6</small>
<small>C 8C 4</small>
<small>1 3</small>
<small>T 1 O U T</small> <sup>1 4</sup>
<small>R 21 M</small>
<small>C 9C 1 0Y 1</small>
<small>C 10 . 1</small>
<small>R X DT X D</small>
</div><span class="text_page_counter">Trang 29</span><div class="page_container" data-page="29">Mơ tả:
Hướng phát :
Tín hiệu gửi từ máy tính xuống theo chuẩn RS232.Ngõ ra TXD đưa vào IC 73M223 điều chế FSK gửi ra chân TXA có biên độ đỉnh đỉnh là 5V và cách ly qua T2.T2 có 2 ngõ ra là TX1 và TX2 truyền dữ liệu xuống các Kit.
<small>Start bitStop bit12V</small>
<small>TXD</small>
</div><span class="text_page_counter">Trang 30</span><div class="page_container" data-page="30">Hướng thu:
Tín hiệu truyền từ các Kit trong mạng về Kit convert dạng FSK được đưa vào 2 ngõ vào RX1và RX2 của T1 .T1 có nhiệm vụ cách ly dữ liệu nhận được từ đường truyền với Kit convert và đưa tín hiệu vào 73M223 để giải điều chế FSK.Dữ liệu sau khi được giải điều chế được gửi lên máy tính .
</div><span class="text_page_counter">Trang 31</span><div class="page_container" data-page="31"><b>2.2.Mạch Kit.dsn</b>
<i><b>Sơ đồ khối</b></i>
<b><small>ĐIỀU CHẾ VÀ GIẢI ĐIỀU CHẾ </small></b>
<b><small>TÍN HIỆU FSKGIAO TIẾP </small></b>
<b><small>ĐƯỜNG TRUYỀN </small></b>
<b><small>XỬ LÝ ĐỒNG BỘ </small></b>
<b><small>BIT</small></b>
</div><span class="text_page_counter">Trang 32</span><div class="page_container" data-page="32"><small>3 0 p1 1 . 0 5 9</small>
<small>3 0 p</small>
<small>R X DM O S I</small>
<small>M I S OS C K</small>
<small>G N D</small>
<small>P 2 . 0P 2 . 2P 2 . 4P 2 . 6T X D1 6 _ C L K</small>
<small>X C 1X C 3X C 5</small>
<small>A D 3A D 0A D 2A D 5A D 7</small>
<small>P 2 . 0P 2 . 2P 2 . 4P 2 . 6V C C</small>
<small>G N D</small>
<small>G N D</small>
<small>G N D</small>
<small>G N DG N DG N D</small>
<small>V C CV C C</small>
<small>V C C</small>
<small>V C C</small>
<small>T M ST D OG N DV C CV C C</small>
<small>A D 0A D 2A D 4A D 6</small>
<small>G N D</small>
<small>R X DD A T A _ I N1 6 _ C L K</small>
<small>V C CG N D</small>
<small>P 2 . 0P 2 . 1</small>
<small>P 2 . 4P 2 . 5</small>
<small>P 2 . 7P 2 . 6P 2 . 3X C 1</small>
<small>P 2 . 2</small>
<small>Y 1C 1</small>
<small>C 3C 2</small>
<small>1 0 u / 1 6 V</small>
<small>J P 1</small>
<small>J 3</small>
<small>R 31 0 k</small>
<small>R 61 . 5 k</small>
<small>U 3</small>
<small>V D D1</small>
<small>R X A2</small>
<small>C A P3</small>
<small>R X F4</small>
<small>J 5U 1</small>
<small>A T 8 9 S 8 2 5 2</small>
<small>E A / V P3 1</small>
<small>X 11 9</small>
<small>X 21 8</small>
<small>R E S E T9</small>
<small>I N T 01 2</small>
<small>I N T 11 3</small>
<small>T 01 4</small>
<small>T 11 5</small>
<small>P 1 . 01</small>
<small>P 1 . 12</small>
<small>P 1 . 23</small>
<small>P 1 . 34</small>
<small>P 1 . 45</small>
<small>P 1 . 56</small>
<small>P 1 . 67</small>
<small>P 1 . 78</small>
<small>U 2X C 9 5 1 0 8</small>
<small>N C1</small>
<small>G N D2</small>
<small>N C3</small>
<small>N C4</small>
<small>N C5</small>
<small>N C6</small>
<small>V C C7</small>
<small>N C8</small>
<small>N C9</small>
<small>N C1 0</small>
<small>N C1 1</small>
<small>N C1 2</small>
<small>N C1 3</small>
<small>N C1 4</small>
<small>N C1 5</small>
<small>N C1 6</small>
<small>N C1 7</small>
<small>N C1 8</small>
<small>N C1 9</small>
<small>N C2 0</small>
<small>N C2 1</small>
<small>N C2 2</small>
<small>G N D2 3</small>
<small>N C2 4</small>
<small>N C2 5</small>
<small>N C2 6</small>
<small>N C2 7</small>
<small>V C C2 8</small>
<small>N C2 9</small>
<small>N C3 0</small>
<small>N C3 1</small>
<small>N C3 2</small>
<small>G N D3 3</small>
<small>N C3 4</small>
<small>C 5 _ 10 . 1C 5 _ 2</small>
<small>0 . 1C 5 _ 3</small>
<small>0 . 1C 5 _ 40 . 1</small>
<small>R 23 3 0D 1L E D</small>
<small>R 43 3 0R 51 5 0R 71 5 0R 81 5 0R 91 5 0R 1 01 5 0R 1 11 5 0D 2</small>
<small>L E D</small>
<small>D 4L E DD 5L E DD 6L E DD 7L E DD 8L E DC 4</small>
<small>0 . 1</small>
<small>D 3L E D</small>
<small>C 61 M</small>
<small>M O S IS C KM I S O</small>
<small>T R A N S M I TR E C E I V E</small>
</div><span class="text_page_counter">Trang 33</span><div class="page_container" data-page="33"><b>Mơ tả:</b>
<b>Hướng thu:</b>
Nhận dữ liệu từ máy tính được Kit convert điều chế
FSK.Dữ liệu FSK được giải điều chế trở thành tín hiệu nhị phân ,sau đó tín hiệu được đưa vào XC95108 để xử lý
đồng bộ bit.Kết quả sau đó đưa về CPU 89S8252 để xử lý đồng bộ khung, đồng bộ byte và lọc lấy dữ liệu điều
khiển .
</div><span class="text_page_counter">Trang 34</span><div class="page_container" data-page="34"><b>Hướng phát:</b>
Gửi các khung dữ liệu về máy tính .CPU89S8252 phát khung dữ liệu đến 73M223 để điều chế FSK .Sau đó tín hiệu điều chế truyền về máy tính qua T1.
</div><span class="text_page_counter">Trang 35</span><div class="page_container" data-page="35"><b>2.2.1.Mạch điều chế và giải điều chế FSK</b>
<i><b>Sơ đồ nguyên lý</b></i>
<small>V C CV C C</small>
<small>3 0 p3 0 p</small>
<small>3 . 5 7 8 9</small>
<small>T X DD A T A _ I N _ 1</small>
<small>R 1 4</small>
<small>C 50 . 1</small>
<small>C 40 . 1</small>
<small>C 6R 1 31 M</small>
<small>T R A N S M I TR E C E I V E</small>
</div><span class="text_page_counter">Trang 36</span><div class="page_container" data-page="36"><b>Mô tả:</b>
<b>Hướng thu:</b>
Mạch giải điều chế FSK làm nhiệm vụ nhận tín hiệu FSK ,giải điều chế đưa ra dữ liệu dạng nhị phân 1010..Tín hiệu FSK đưa vào 2 chân RX1 và RX2.T2 làm nhiệm vụ cách ly đường truyền và chân Receive nhận được FSK so với đất hệ thống .
</div><span class="text_page_counter">Trang 37</span><div class="page_container" data-page="37">Tín hiệu Receive được lọc thơng dải bậc 4 Butterworth với các giá trị thích hợp của C5 ,R12,R14 đưa vào chân RXF.Tín hiệu FSK có f =1302Hz cho mức logic 1 và f =
Dạng tín hiệu FSK tại chân Receive
</div><span class="text_page_counter">Trang 38</span><div class="page_container" data-page="38"><b>Hướng phát:</b>
Mạch giải điều chế FSK làm nhiệm vụ nhận tín hiệu nhị phân từ CPU 89S8252 đưa đến IC73M223 điều chế thành tín hiệu FSK để phát lên đường truyền .
Tín hiệu nhị phân cần được điều chế được đưa đến chân TXD của IC 73M223.
</div><span class="text_page_counter">Trang 39</span><div class="page_container" data-page="39"><b>2.2.2.Mạch xử lý trung tâm </b>
<i><b>Sơ đồ nguyên lý</b></i><sub>V C C</sub> <small>V C C</small>
<small>V C C3 0 p</small>
<small>3 0 p1 1 . 0 5 9</small>
<small>P 2 . 0P 2 . 1P 2 . 2P 2 . 3P 2 . 4P 2 . 5P 2 . 6P 2 . 71 6 _ C L K</small>
<small>X C 1X C 2X C 3X C 4X C 5</small>
<small>A D 3A D 4A D 0A D 1A D 2A D 5A D 6A D 7</small>
<small>P 2 . 0P 2 . 1P 2 . 2P 2 . 3P 2 . 4P 2 . 5P 2 . 6P 2 . 7Y 1</small>
<small>C 1</small>
<small>C 3C 2</small>
<small>1 0 u / 1 6 V</small>
<small>R 31 0 k</small>
<small>R 61 . 5 k</small>
<small>P 0 . 0</small> <sup>3 9</sup><small>P 0 . 1</small> <sup>3 8</sup><small>P 0 . 2</small> <sup>3 7</sup><small>P 0 . 3</small> <sup>3 6</sup><small>P 0 . 4</small> <sup>3 5</sup><small>P 0 . 5</small> <sup>3 4</sup><small>P 0 . 6</small> <sup>3 3</sup><small>P 0 . 7</small> <sup>3 2</sup><small>P 2 . 0</small> <sup>2 1</sup><small>P 2 . 1</small> <sup>2 2</sup><small>P 2 . 2</small> <sup>2 3</sup><small>P 2 . 3</small> <sup>2 4</sup><small>P 2 . 4</small> <sup>2 5</sup><small>P 2 . 5</small> <sup>2 6</sup><small>P 2 . 6</small> <sup>2 7</sup><small>P 2 . 7</small> <sup>2 8</sup><small>R D</small> <sup>1 7</sup><small>W R</small> <sup>1 6</sup><small>P S E N</small> <sup>2 9</sup><small>A L E / P</small> <sup>3 0</sup><sub>1 1</sub>
<small>J 1</small>
<small>R 1</small> <sup>6 . 8 K</sup>
<small>M O S I</small>
</div><span class="text_page_counter">Trang 40</span><div class="page_container" data-page="40"><b><small>Mô tả:</small></b>
<small>và ghi vào CPU 89S8252.</small>
<small>-SCK :Nhịp clock khi ghi chương trình -MISO:Gửi trả lời từ CPU về máy tính</small>
<small>-MOSI :Gửi dữ liệu chương trình từ máy tính xuống CPU 89S8252</small>
<small>-Chân 16_clk:Tạo xung cấp cho XC95108 thực hiện đồng bộ bit</small>
</div><span class="text_page_counter">Trang 41</span><div class="page_container" data-page="41"><b>2.2.3.Mạch led hiển thị</b>
<i><b>Sơ đồ nguyên lý</b></i> <small>P 2 . 0</small> <sup>V C C</sup><small>P 2 . 1</small>
<small>P 2 . 2</small>
<small>P 2 . 4P 2 . 3</small>
<small>R 2</small>
<small>3 3 0D 1</small>
<small>L E D</small>
<small>R 4</small>
<small>3 3 0R 5</small>
<small>3 3 0R 7</small>
<small>3 3 0R 8</small>
<small>3 3 0R 9D 2</small>
<small>L E DD 3</small>
<small>L E DD 4</small>
<small>L E DD 5</small>
<small>L E DD 6</small>
</div><span class="text_page_counter">Trang 42</span><div class="page_container" data-page="42"><b>Mô tả:</b>
Mạch led tương ứng các kênh điều khiểnGiá trị điện trở
R = (Vcc –1.7) / 10 mA = 330
</div><span class="text_page_counter">Trang 43</span><div class="page_container" data-page="43"><b><small>2.2.4.Mạch xử lý đồng bộ bitMô tả:</small></b>
<small>XC95108 nhận dữ liệu từ 73M223 xử lý đồng bộ bit,sau đó gửi về CPU</small>
<small>đồng bộ bit</small>
<small>RXD:Gửi dữ liệu về CPU 89S8252 đã xử lý đồng bộDATA_IN:Ngõ vào dữ liệu chưa xử lý đồng bộ bitTMS,TDI,TDO,TCK :Các chân lập trình XC95108</small>
</div><span class="text_page_counter">Trang 44</span><div class="page_container" data-page="44"><small>G N D</small>
<small>G N D</small>
<small>G N D</small>
<small>G N DG N DG N D</small>
<small>V C CV C C</small>
<small>V C C</small>
<small>V C CR X D</small>
<small>D A T A _ I N1 6 _ C L K</small>
<small>X C 1X C 2V C CV C CG N DT D O</small>
<small>U 2X C 9 5 1 0 8</small>
</div><span class="text_page_counter">Trang 45</span><div class="page_container" data-page="45"><b>2.2.4.1.Hoạt động xử lý đồng bộ bit </b>
Khi dữ liệu truyền trong một hệ thống mạng rất dễ xảy ra hiện tượng nhiễu .Vì vậy việc đọc bit start xác định bit đầu tiên của một byte thường gặp lỗi .Để tránh hiện tượng này tại đầu thu cần xử lý đồng bộ bit.
</div><span class="text_page_counter">Trang 46</span><div class="page_container" data-page="46">Dữ liệu sau khi giải điều chế FSK được đưa vào mạch xử lý đồng bộ bit.Khi phát hiện chuyển mức logic từ cao
xuống thấp của start bit thì bit start được nhận dạng .Lúc này một bộ đếm 8 xung clock được kích hoạt.Sau khi bộ đếm tràn thì dữ liệu ngõ vào được kiểm tra một lần nữa. Nếu là mức thấp thì xác nhận đây là start bit,ngược lại thì là do hiện tượng nhiễu gây ra và mạch vào trạng thái
reset .
</div><span class="text_page_counter">Trang 47</span><div class="page_container" data-page="47">Khi xác nhận là start bit thì mạch kích khởi bộ đếm 16 xung clock để đọc dữ liệu tuần tự vào .Cứ như vậy mạch đồng bộ đọc vào 10 bit của 1 byte.Khi kết thúc 1 byte thì mạch xử lý đồng bộ lại được reset để chờ bit start của
byte kế.Như vậy tốc độ baud lấy mẫu dữ liệu từ máy tính gửi xuống gấp 16 lần tốc độ baud 1200.
</div><span class="text_page_counter">Trang 48</span><div class="page_container" data-page="48"><small>Trung tâm bit start</small>
</div><span class="text_page_counter">Trang 49</span><div class="page_container" data-page="49"><b>2.2.4.2.Sơ đồ macro mạch xử lý đồng bộ bit</b>
Mạch xử lý đồng bộ bit được thiết kế bằng ngôn ngữ
VHDL trên phần mềm Project Manager của hãng Xillinx được chia thành 8 macro.Mỗi macro có chức năng riêng .
<b>2.2.4.2.1.Macro Detect start</b>
<small>D a t a _ in</small>
<small>D e t e c t _ s t a r t</small>
</div><span class="text_page_counter">Trang 50</span><div class="page_container" data-page="50">-Data_in :Ngõ vào dữ liệu chưa đồng bộ bit-Reset_Detect_Start:Ngõ vào
-Detect_Start:Ngõ ra
<b>Chức năng : Khi xuất hiện start bit thì macro phát hiện </b>
tạo mức logic cao ở ngõ ra Detect_Start đồng thời reset macro
<b>2.2.4.2.2.Macro Count</b>
-CE :Ngõ vào CLK:Ngõ vào-LOAD:Ngõ vào
-RESET:Ngõ vào -Q0-Q3:Ngõ ra
<b>Chức năng : Sau khi macro Detect_Start phát hiện start </b>
bit thì macro Count đếm 8 xung clock để lấy mức logic
</div><span class="text_page_counter">Trang 52</span><div class="page_container" data-page="52"><small>C EC L KL O A DR E S E T</small>
<small>Q 0Q 1Q 2Q 3</small>
</div><span class="text_page_counter">Trang 53</span><div class="page_container" data-page="53"><b><small>2.2.4.2.3.Macro Create_pulse</small></b>
<small>-In1: Ngõ vào-In2:Ngõ vào-In3:Ngõ vào -In4:Ngõ vào -Out:Ngõ ra</small>
<b><small>Chức năng : Sau khi macro Count đếm đủ 8 xung thì </small></b>
<small>macro Create_pulse tạo xung để để đọc lấy mức logic </small>
</div><span class="text_page_counter">Trang 54</span><div class="page_container" data-page="54">I n 1I n 2I n 3I n 4
O u t
</div><span class="text_page_counter">Trang 55</span><div class="page_container" data-page="55"><b><small>2.2.4.2.4.Macro Detect_false_start</small></b>
<small>CLK: Ngõ vàoRESET:Ngõ vàoDATA_IN:Ngõ vào REFRESH:Ngõ ra</small>
<b><small>Chức năng :.Macro Create_pulse tạo xung để đọc lấy mức logic </small></b>
<small>trung tâm của start bit .Trong trường hợp mức logic đọc được không phải là mức thấp thì macro Detect_false_start sẽ reset </small>
<small>mạch để dị tìm start bit mới.Nếu mức logic đọc được là mức cao </small>
</div><span class="text_page_counter">Trang 56</span><div class="page_container" data-page="56"><b>2.2.4.2.5.Macro Active_reset</b>
In1: Ngõ vàoIn2:Ngõ vàoOut1:Ngõ ra Out2:Ngõ ra
<b>Chức năng :.Khi phát hiện lỗi trong việc dị tìm start bit </b>
thì macro Active_reset kích hoạt reset mạch .
</div><span class="text_page_counter">Trang 57</span><div class="page_container" data-page="57"><small>I n 1</small>
<small>I n 2</small>
<small>O u t 1</small>
<small>O u t 2</small>
</div><span class="text_page_counter">Trang 58</span><div class="page_container" data-page="58"><b>2.2.4.2.6.Macro Enable_16</b>
In1: Ngõ vàoIn2:Ngõ vàoCLK:Ngõ vào Out1:Ngõ raOut2:Ngõ ra
</div><span class="text_page_counter">Trang 59</span><div class="page_container" data-page="59"><small>I n 1I n 2C l k</small>
<small>O u t 1</small>
<small>O u t 2</small>
</div><span class="text_page_counter">Trang 60</span><div class="page_container" data-page="60"><b>2.2.4.2.7.Macro Select_clock</b>
In1: Ngõ vàoIn2:Ngõ vàoOut:Ngõ ra
<b>Chức năng :.Là ngõ tạo xung clock đọc lấy dữ liệu đã </b>
được đồng bộ bit. Ngõ tạo xung này chỉ có khi việc dị tìm start bit là chính xác .
</div><span class="text_page_counter">Trang 61</span><div class="page_container" data-page="61"><b>2.2.4.2.8.Macro 10bit</b>
In1: Ngõ vàoIn2:Ngõ vàoOut:Ngõ ra
<b>Chức năng :.Sau khi đọc lấy 10 bit của 1 byte dữ liệu, </b>
macro 10bit sẽ reset mạch để dị tìm start bit mới