Ứng dụng của chíp điều khiển Ethernet W5100 trong quản lý địa chỉ IP

MỤC LỤC

Địa chỉ IP Public và Địa chỉ IP Private 1. IP Public

Để các Network có những địa chỉ duy nhất ngoài Internet, thì Internet Assigned Numbers Authority (IANA) sẽ chia những khoảng địa chỉ không dự trữ thành những phần nhỏ và ủy thác trách nhiệm phân phối địa chỉ cho các tổ chức Đăng Kí Miền khắp thế giới. Những tổ chức đó là Asia-Pacific Network Information Center (APNIC), American Registry for Internet Numbers (ARIN), and Réseaux IP Européens (RIPE NCC). Những tổ chức này sẽ phân phối những khối địa chỉ đến 1 số nhà các Internet Service Provider (ISP) lớn và các ISP lớn này sau đó sẽ gán những khối nhỏ hơn cho các đại lý và các ISP nhỏ hơn.

Các địa chỉ này được cấp 1 cách tự động dến mỗi máy tính khi máy tính kết nối và có thể là địa chỉ tĩnh nếu đường line của bạn thuê riêng hay các tài khoàn Dial-up. Những địa chỉ IP Private này được sử dụng cho những Host yêu cầu có IP để kết nối nhưng không cần được thấy trên các mạng Public.  Những host có địa chỉ IP Private có thể kết nối đến Internet bằng cách sử dụng 1 Proxy Server hay 1 máy tính chạy Windows Server 2003 đã cấu hình như là 1 Network Address Translation (NAT) Server.

Windows Server 2003 cũng tích hợp chức năng Internet Connection Sharing (ICS) để cung cấp dịch vụ NAT đơn giản cho các Client trong mạng Private.  Các lớp này có chiều dài phần NET ID và HOST ID khác nhau nên số lượng Mạng và số lượng Trạm trên mỗi mạng cũng khác nhau.

Hình 2:Bảng sau đây sẽ mô tả khái quát về các lớp địa chỉ IP
Hình 2:Bảng sau đây sẽ mô tả khái quát về các lớp địa chỉ IP

Subnet Mask

Đầu tiên, Trạm sẽ thực hiện phép tính AND giữa Địa Chỉ cục bộ với Subnet Mask mặc định cục bộ. Máy trạm sau đó sẽ thực hiện phép tính AND giữa Địa chỉ Đích với Subnet Mask giống trên. TCP/IP sau đó sẽ so sánh kết quả những giá trị từ 2 phép tính AND.

 Có 1 cách viết khác để xác định Subnet Mask là: Địa chỉ IP / Tiền tố Mạng. Tiền tố Mạng được xác định bằng cách cộng tất cả các bit 1 trong dãy 32bit của Subnet Mask.

Default Gateway

Mạng TCP/IP thì Default Gateway là địa chỉ của Router, nằm trong 1 phạm vi Broadcast, nó được cấu hình để đưa những luồng IP đến Mạng khác.  Khi 1 máy tính cố gắng truyền đạt thông tin đến 1 trạm khác trên Mạng IP, máy tính sẽ dùng SUBNET MASK để xác định Trạm đích là Cục Bộ (Local) hay ở Xa (Remote). Nếu đích là 1 trạm trên 1 phân đoạn Mạng Cục Bộ, máy tính sẽ đơn giản gởi 1 gói tin đến Mạng Cục Bộ bằng cách truyền cho tất cả (Broadcast).

Nếu đích là 1 Trạm ở xa, máy tính sẽ đưa gói tin đến Default Gateway đã được xác định trong TCP/IP Properties. Router được ghi rừ tại địa chỉ Default Gateway sau đú sẽ chịu trỏch nhiệm đưa gói tin đến Mạng 1 cách chính xác.

TCP/IP cho vi điều khiển 1.TCP/IP stack

Hardwired TCP/IP

 Việc kết nối dữ liệu được thông qua TCP,UDP,IP-Raw và MAC-Raw.Đúng ra việc lựa chọn kết nối là một dải các giao thức của các khe cắm kết nối.(W5100 cung cấp cho 4 khe cắm ).  TCP là một phương pháp kết nối cơ bản trong đó nó cho phép thiết lập kết nối trong một yêu cầu nhất định và việc chuyển giao dữ liệu kết nối bằng địa chỉ IP và số cổng của hệ thống. Dùng UDP, chương trình trên máy tính có thể gởi những dữ liệu ngắn được gọi là datagram tới máy khác.

UDP không cung cấp sự tin cậy và thứ tự truyền nhận mà TCP làm, các gói dữ liệu có thể đến không đúng thứ tự hoặc bị mất mà không có thông báo. Tuy nhiên UDP nhanh và hiệu quả hơn đối với các mục tiêu như kích thước nhỏ và yêu cầu khắt khe về thời gian. Do bản chất không trạng thái của nó nên nó hữu dụng đối với việc trả lời các truy vấn nhỏ với số lượng lớn người yêu cầu.

 Những ứng dụng phổ biến sử dụng UDP như DNS (Domain Name System), ứng dụng streaming media, Voice over IP, Trivial File Transfer Protocol (TFTP) và game trực tuyến.  Việc truyền thông giữa vi điều khiển với chíp ethernet W5100 cung cấp hướng kết nối sau: Theo phương pháp trực tiếp, phương pháp gián tiếp và SPI phương pháp.

1.3.2.1.1. Sơ đồ chân
1.3.2.1.1. Sơ đồ chân

Vi Điều Khiển

Tìm hiểu về vi điều khiển AVR-Micro Atmega64L

  • Các khối của Atmega64L

     Do các khối chức năng của Atmega64L rất nhiều lên em chỉ đề cập đến các khối chức năng sử dụng trong luận văn này.  Các bộ xử lý AVR có kiến trúc Harvard, nghĩa là có bộ nhớ dữ liệu và bộ nhớ chương trình tách biệt nhau. Khối số học (ALU) thực hiện các thao tác như thao tác bit, phép tính số học và lôgic trên nội dung của các thanh ghi và ghi ngược kết quả vào tệp thanh ghi trên thanh ghi đã được chỉ định.

    Mỗi một thao tác ALU đều làm ảnh hưởng đến các cờ trong thanh ghi trạng thái (STATUS), tùy thuộc vào lệnh. Lệnh trong một đoạn chương trình ngắt có thể xủa đổi bít cờ trạng thái, và vì thế chương trình của người dùng phải lưu trữ và khôi phục thanh ghi trạng thái trong thời gian có một ngắt. Thanh ghi này có độ rộng bằng 1 byte đối với các bộ xử lý có đến 256 byte bộ nhớ SRAM và bằng 2byte (được gọi là SPH và SPL) đối với các bộ xử lý có bộ nhớ.

    Ngăn xếp được sử dụng để lưu trữ địa chỉ mà bộ xử lý trả trở lại trong thời gian một ngắt và gọi thủ tục. Bởi vì SP được khởi tạo về $0000 khi rết, nên chương trình người dùng cần phải khởi tạo SP cho thích hợp, bởi vì địa chỉ bắt đầu của bộ nhắ SRAM không phải là. Ngăn xếp sắp xếp theo thứ tự từ trên xuống dưới trong địa chỉ bộ nhớ, nghĩa là, việc đẩy một giá trị lên trên ngăn xếp sẽ làm cho SP giảm đi một giá trị.

    Bộ xử lý AVR được điều khiển bởi đồng hồ hệ thống, đồng hồ này có thể ở bên ngoài hoặc, nếu có tồn tại và được phép, một đồng hồ RC bên trong có thể được sử dụng. Đồng hồ hệ thống này không qua bất kỳ bộ chia nào và được sử dụng trục tiếp cho tất cả các thao tác truy nhập bên trong bộ xử lý. Bộ xử lý có một đường ống (pipeline) 2 tầng, và lệnh tìm nạp giải mã được thực hiện đồng thời vời việc thực thi lệnh.

    Cứ mỗi lần lệnh được tìm nạp, nếu đây là một lệnh liên quan đến ALU, nó có thể được thực thi bởi khối ALU như được minh họa tren hình 3-5 cho một chu trình đơn lẻ. Chu trình đồng hồ thứ nhất được cần đến để truy nhập tệp thanh ghi và để thao tác trên thanh ghi con trỏ (các lệnh truy nhập bộ nhớ SRAM cho phếp tăng địa chỉ trước/ sau thao tác trên thanh ghi con trỏ). Ở thời điểm kết thúc của chu kỳ đồng hồ thứ nhất, khối ALU thực hiện phép tính này, và sau đó địa chỉ này được sử dụng để truy nhập ô nhớ SRAM và để ghi vào ô nhớ này ( hoặc đọc ra rừ đó vòa thanh ghi đích), như được minh họa hình dưới.

     Atmega có 64k Byte bộ nhớ Flash lập trình lại được trong hệ thống (ISP- In system progammable) cho bộ nhớ chương trình.  Timer/counter1, 16 bit cho phép lập trình các thời gian điều khiển chính xác ( đếm các sự kiện), tạo xung, đo độ rộng thời gian của tín hiệu.

    2.1.3. Sơ đồ chân
    2.1.3. Sơ đồ chân

    Thực Nghiệm

    Thiết kế phần cứng

    Thành phần của mạch bao gồm vi điều khiển W5100,Jac ethernet RJ45.Để kết nối SPI với vi điều khiển Atmega64L ta sử dụng các chân sau: /MISO, /MOSI, /SS, /SCLK.

    Hình 18: Sơ đồ nguyên lý mạch chính.
    Hình 18: Sơ đồ nguyên lý mạch chính.

    Xây dựng phần mềm

      Ở đây ta phải viết chương trình cho Atmega 64L để đọc dữ liệu từ module ethernet bằng chuẩn kết nối SPI. Việc kết nối giữa module ethernet WIZ810MJ với các máy tính có nối mạng .Trong luận văn này sử dụng giao thức kết nối DHCP(Dynamic Host Configuration Protocol). Giá trị cần thiết được trả về qua USART1 về máy tính để debug các thông số như:Địa chỉ IP, tên miền (Host name), địa chỉ Mac.

      Hình 22: Quá trình viết chương trình cho vi điều khiển.
      Hình 22: Quá trình viết chương trình cho vi điều khiển.