Khái niệm về hệ thống nhúngHệ thống nhúng (Embedded system) là một thuật ngữ để chỉ một hệ thống có khả năng tự trị được nhúng vào trong một môi trường hay một hệ thống mẹ.Các hệ thống tích hợp cả phần cứng và phần mềm phục vụ các bài toán chuyên dụng trong nhiều lĩnh vực công nghiệp:điện tử, viễn thông, công nghệ thông tin,tự động hoá điều khiển, quan trắc và truyền tin.Hệ thống nhúng thường được thiết kế để thực hiện một chức năng chuyên biệt nào đó.Một hệthống nhúng chỉ thực hiện một hoặc một vài chức năng nhất địnhThường đi kèm với những yêu cầu cụ thể và bao gồm một số thiết bị máy móc và phần cứng chuyên dụng.Thường được tối ưu hóa nó nhằm giảm thiểu kích thước và chi phí sản xuất.Các hệ thống nhúng thường được sản xuất hàng loạt với số lượng lớn.• Rất đa dạng, phong phú vềchủng loại.• Về độ phức tạp: – có thể rất đơn giản với một vi điều khiển – Có thể rất phức tạp với nhiều đơn vị, các thiết bị ngoại vi và mạng lưới được nằm gọn trong một lớp vỏ máy lớnKhái niệm ngắn gọn:là hệ thống thực hiện một số chức năng đặc biệt có sử dụng vi xử lýCác đặc điểm của hệ thống nhúngCác hệ thống nhúng được thiết kế để thực hiện một số nhiệm vụ chuyên dụng.Không đóng vai trò là các hệ thống máy tính đa chức năng.Có thể đòi hỏi ràng buộc về tính hoạt động thời gian thực để đảm bảo độan toàn và tính ứng dụng.Một số hệ thống không đòi hỏi hoặc ràng buộc chặt chẽ.Một hệ thống nhúng thường không phải là một khối riêng biệt mà là một hệ thống phức tạp nằm trong thiết bị mà nó điều khiển.Phần mềm được viết cho các hệ thống nhúng được gọi là firmware và được lưu trữ trong các chip bộ nhớ chỉ đọc (read-only memory) hoặc bộ nhớflash.Phần mềm thường chạy với số tài nguyên phần cứng hạn chế: không có bàn phím, màn hình hoặc có nhưng với kích thước nhỏ , không đủ bộ nhớ.Giao diện: Các hệ thống nhúng có thể không có giao diện hoặc có đầy đủ giao diện giao tiếp với người dùng tương tự như các hệ điều hành trong các thiết bị để Trong các hệ thống mới: Có thể thông qua kết nối mạng,Có thể dùng giao diện web.
Kiến trúc điển hình của hệ thống nhúngKiến trúc của một hệthống nhúng là một sự trừu tượng hóa thiết bị nhúngCác thành phần phần cứng và phần mềm ở mức kiến trúc trong một hệ thống nhúng được đại diện bởi các phần tử có tác động lẫn nhau. Các phần tử là đai diện của phần cứng hoặc phần mềm nhưng chi tiết đã được trừu tượng hóa chỉ có thông tin về các mối quan hệ qua lại và các hoạt động của chúng.Các phần tử này có thể được tích hợp bên trong thiết bị nhúng hoặc tồn tài bên ngoài hệ thống nhúng và tương tác với các phần tử bên trong một kiến trúc hệthống nhúng bao gồm các phần tử của hệ thống nhúng, các phần tử tương tác với một hệ thống nhúng, các tính chất của mỗi phần tửriêng biệt và mối quan hệ tương tác giữa các thành phần.một kiến trúc hệ thống nhúng bao gồm các phần tử của hệ thống nhúng, các phần tử tương tác với một hệ thống nhúng, các tính chất của mỗi phần tử riêng biệt và mối quan hệ tương tác giữa các thành phần.một số kiểu cấu trúc như sau: cấu trúc theo dạng modul và cấu trúc theo thành phần và kết nối.mô hình hệ thống nhúng bao gồm: phần cứng, phần mềm hệ thống và phần mềm ứng dụng.một số loại kiến trúc phần mềm thông dụng trong các hệ thống sau:- Vòng lặp kiểm soát đơn giản.
Thiết kế điện tử 
 | 
  
Yêu cầu kĩ năng 
 | 
 
Quản lí tích hợp hệ thống 
 | 
  
Có kiến thức về quản lý dự án thiết kế, kiến trúc hệ thống.Có kỹ
  năng làm việc theo nhóm, khả năng sáng tạo.Kỹ thuật phân tách, tích hợp hệ thống, 
 | 
 
Thiết kế, phát triển phần mềm ứng dụng. 
 | 
  
Hiểu biết vềcấu trúc dữliệu, giải
  thuật, CSDL, KTLT cấu trúc, hướng đối tượng, đồ họa, mutimedia , xử lý tín hiệu,…
   
Thành thạo kỹ thuật lập trình,
  ngôn ngữ lập trình:C/C++,  
 | 
 
Thiết kế firmware 
 | 
  
Hiểu biết về hệ điều hành thời gian thực,
  lập trình hệ hống,kiến trúc máy tính, hệ thống nhúng, VXL, bảo mật, network…
  Thành thạo vềsửdụng các công cụIDE, lập trình C/C++, PHP,JAVA, …. 
 | 
 
Thiết kế mạch PCB 
 | 
  
Hiểu biết về mạch điện tử, phần cứng VXL,vđk,
  IC chức năng, FPGA, linh kiện điện tử: footprint, SMD, SMT..Thành thạo các
  công cụ thiết kế Front-end EDA như: Altium,ÍSE 
 | 
 
Thiết kế vi điện tử, linh kiện, IC, phụ kiện 
 | 
  
Hiểu biết vềvật lý bán dẫn, nguyên lý mạch tích hợp tương tự, số,
  mạch RF và cao tần, điện tử ứng dụng 
Thành thạo thiết kế layout, ASIC, VLSI sử dụng các công cụ
  back-end EDA như: MentorGraphic, Cadence, ADS … 
 | 
 
Bộ xử lí nhúng:là đơn vịchức năng chính của một hệthống nhúng, và chịu trách nhiệm trong việc xử lý lệnh và dữ liệu.Một thiết bị điện tửcó chứa ít nhất một bộxửlý chủ(master processor ) có thể bổ sung các bộ xử lý tớ( slave processors) cùng làm việc và điều khiển bởi bộ xử lý chủ.Slave processors có thể tham gia và các chỉ lệnh của master processor hoặc thi hành quản lý bộ nhớ, các bus và các thiết bị vào ra.Hệ thống nhúng được thiết kế xung quanh bộ xử lý chủCác bộ vi xử lý chứa một lượng nhỏ bộ nhớ tích hợp và thành phần vào ra (I/O),Các bộ vi điều khiển có phần lớn bộ nhớhệthống và các thành phần vào ra tích hợp trên chip.Các bộ xử lý nhúng có thể tách thành các nhóm dựa trên kiến trúc.Khác biệt giữa các nhóm kiến trúc này là tập hợp các mã máy hướng dẫn các bộ xử lý trong các nhóm kiến trúc có thể thực thi.
Bộ xử lý được xem như kiến trúc tương tự nhau khi chúng có thể thực thi cùng tập lệnh.Bộ nhớ:Nền tảng nhúng có sự phân cấp bộ nhớ, 1 tập hợp gồm các loại bộ nhớ khác nhau,mỗi loại đều có tốc độ kích cỡ và cách sử dụng riêng biệt.Một vài bộ nhớ có thể được tích hợp sẵn trong bộ XL,như các thanh ghi và các loại bộ nhớ sơ cấp đã biết, là nơi mà bộ nhớ có thể kêt nối trực tiếp hay tích hợp trong bộ xử lí như:ROM,RAM và level-1 cache…Bộ nhớ bao gồm các loại bộ nhớ sơ cấp, bộ nhớ chính và bộ nhớ cấp 2/cấp 3..Quản lí bộ nhớ ngoài:
TT ở vị trí tâm, tất cả các bít chủ kết nối
với trọng tài, ở vị trí TT.máy chủ sau khi được cấp quyền sẽ truy nhập đén bít
thồng qua FIFO hoặc ưu tiên trên cơ sở hệ thống.tuật toán FiFO lưu trữ thứ tự
ICSD bus yueeu cầu sử dung bit của các thiết bị trong danh sách của thiết bị chủ.Thiết
bị chủ được thêm ở cuối hàng đợi và đc phép truy nhập bit từ đầu hàng đợi.Hệ thống
phân xử ưu tiên phân biệt vs máy chủ dựa trên tầm quan trọng tương đói vs nhau
và hệ thống.Về cơ bản thì mỗi thiết bị chủ đc gán 1 giá trị và sẽ hoạt động
theo giá trị ưu tiên đó.Thiết bị chủ có quyền ưu tiên cao nhất luôn có thể chặn
trước đc truy nhập Bus của các thiết bị có quyền ưu tiên thấp hơn.Tập trung theo từng chuỗi:
Là một hệ thống trong đó bộ phân xử được kết
nối với máy chủ và các máy chủ được kết nối thành chuỗi, không kể đến việc máy
chủ tạp yêu cầu cấp bus thì máy chủ đầu tiên trong chuỗi đc cấp bus và chuyển
sang cấp bus trong nháy cho máy chủ tiếp theo khi máy chủ đầu tiên ko cần bus nữa.Tự lựa chọn phân phối:
Là một hệ thống ko có bộ phân xử trung
tâm, ko có mạch bổ sung.máy chủ tự phân xử bằng cách trao đổi thông tin ưu tiên
để quyết định, nếu máy chủ có ưu tiên cao hơn sẽ đc dung bus, hoặc nếu có cùng
mức thì loại bỏ tất cả các yêu cầu sử dụng bus khi có xung đột từ 2 hay nhiều
hơn các máy chủ yêu cầu sử dụng bus.Có 2 giao thức phổ biến nhất để bắt đầu bất
cứ  bắt tay bus nào là chỉ dẫn hay yêu cầu
1 giao tiếp(hoặc đọc hoặc viết) và phụ thuộc, đáp ứng chỉ dẫn giao tiếp hoặc
yêu cầu(VD: 1 sự thừa nhận ACK hay yêu cầu ENQ).cơ sở của 2 giao thức này là điều
khiển tín hiệu thông qua điều khiển một dải bus riêng hay qua 1 dải dữ liệu.Dù
nó là 1 yc dl tại bộ nhớ hay là giá trị của bộ điều khiển I/O, điều khiển hay
trạng thái đăng kí, nếu phụ thuộc vào đáp ứng tỏng việc xác điịnh đên syêu cầu
truyền của thiết bị chủ. Sau đó hoặc là 1 địa chỉ của dữ liệu liên quan đến việc
truyền đưc trao đổi qua 1 dải bus riêng hay 1 dải dữ liệu hay địa chỉ này đc
truyền như 1 phần của việc truyền giống như yêu cầu truyền ban đầu, nếu địa chỉ
này hợp lệ sau đó trao đổi dữ liệu trên đường truyền dữ liệu.Các bus có thể hợp thành 1 tập hệ thống
truyền, ra lệnh như thế nào để bus truyền dữ liệu.Các hệ thống phổ biến nhất là
đơn lẻ, nơi mà 1 địa chỉ truyền đi trước thông tin truyền của dữ liệu và chặn,nơi
mà địa chỉ đc truyền dữ liệu 1 lần cho nhiều thông tin của dữ liệu.Một hệ thống
đường truyền bị chặn có thể làm tăng băng thông của bus và đôi khi nó phép để
tách rời hệ thống.Nó đc dung phổ biến cho các loại giao tiếp bộ nhớ, ví dụ như
giao tiếp vùng nhớ đệm.Tuy nhiên 1 hệ thống bị chặn tác động tiêu cực đến hiệu
suất của bus, trong đó các thiết bị khác có thể chờ lâu hơn để truy nhập vào
bus.1 trong những thế mạnh của hệ thống truyền đơn lẻ bao gồm các thiết bị ko
phụ thuộc vào yêu cầu để có bộ đệm để lưu trữ địa chỉ và các thông tin của dữ
liệu được liên kết vs địa chỉ, cũng như ko xử lí bất kì vấn đề gì nảy sinh với
nhiều thông tin hay đến theo thứ tự hay ko liên kết vs 1 địa chỉ.Bus không mở rộng VD như I2C bus.các bus i2c kết nối với các bộ phận xử lý có kết hợp 1
i2c trên giao diện chip, cho phép trực tiếp truyền thông tin giữa các bộ xử lý
trên bus. 1 máy chủ /máy fu.  thộc vào mối
quan hệ giữa với các bộ xử lý tồn tại ở tất cả cái giai đoạn . với máy chủ hoạt
động như máy chủ truyền nhận. bus i2c là bus 2 dây với 1 chuỗi dải dữ liệu
(SDA) và 1 chuỗi dải clock(SCL). Bộ xử lý thông qua i2c định địa chỉ bởi 1 địa
chỉ duy nhất là 1 phần của 1 luồng dữ liệu được truyền giữa các thiết bị. máy
chủ i2 bắt đầu truyền dữ liệu và tạo đề ra các xung nhịp cho phép truyền. về cơ
bản SCL có chu kỳ cao hoặc thấp. 1 máy chủ sau khi sử dụng dải SDA để chuyển dữ
liệu đến các máy phụ. Đối vs việc truyền tải dữ liệu bus i2c là 1 dải bus 8
bit  điều nay có nghĩa là trong khi không
có giới hạn về số lượng byte có thể được truyền đi trong 1 phiên , chỉ có 1
byte của dữ liệu được truyền đi cùng 1 lúc 1 bít tại cùng 1 time.các giao diện mở rộng làm PCI mở rộng bus,nó cho phép các phần mềm cắm vào bus cho toàn bộ hệ thống tự động điều chỉnh và hoạt động chính xác. Bus PCI cho phép nhiều bus chủ nó được thực hiện tập chung động hệ thống phân xử song song . hệ thông phân xử củ PCI về cơ bản sử dụng tín hiệu REQ #, and GNT# để tạo điều kiện truyền thông tin giữa bộ khởi động và bộ phân xử bus nói chung 1 PCI được .
Liệt kê một số hệ điều hành thời gian thực?FreeRTOS, Windows CE,
RTLinux,PDOS,uCLinux,Embedded Linux,….Kernel là gì?liệt kê và mô tả các tính năng chính của kernel:Kernel là thành phần trung tâm nhất của hệ điều hành, nó là cầu nối
giữa các ứng dụng và việc xử lý dữ liệu ở mức 
phần cứng. kernel cung
cấp các cơ chế để thực hiện các chính sách.
Các trạng thái hoạt động:-khóa(blocked): đây là trạng thái ko hoạt
động của tác vụ, đang chờ 1 sự kiện xảy ra.-khi có sự kiện xảy ra, tác vụ thức dậy
chuyển lên trạng thái sẵn sang(ready).-tác vụ sẽ chuyển lên trạng thái hoạt động(running)
khi có quyền ưu tiên cao nhất.ở trạng thái hoạt động tác vụ thực hiện công việc
của mình.Tác vụ có thể chuyển trạng thái hoạt động sang khóa trong tường hợp chờ
đợi 1 sự kiện nào đó hoặc sang trạng thái sẵn sang khi có 1 tác vụ khác có mức
ưu tiên cao hơnSự khác biệt giữa chiếm quyền và không chiếm quyền.Chiếm quyền:nếu 1 tác vụ với mức ưu tiên
thấp đang chạy và 1 tác vụ có mức ưu tiên cao hơn đang ở trạng thái khóa thì
tác vụ với mức ưu tiên cao hơn chuyển sang trạng thái sẵn sang và sau đó sang
trạng thái hoạt động.Như vậy tác vụ với mức ưu tiên thấp bị chiếm quyền thực
thi.Không chiếm quyền các tác vụ hoạt động
theo thứ tự,khi tác vụ này chạy xong thì mới đến tác vụ khác.Việc đồng bộ được thực hiện như thế nào?Việc đồng bộ giữa các tác vụ trong hệ điều
hành thời gian thực được thực hiện bằng tập hợp các dịch vụ truyền thông giữa
các tác vụ.Một số cơ chế thông tin và đồng bộ hóa:-  Semaphore :được sử dụng cho việc đồng bộ
và khóa tài nguyên.Về mặt chức năng semaphore hoạt động giống như một chiếc
chìa khóa cho việc truy cập tài nguyên.
Tác vụ vào giữ chiếc chìa khóa này mới có quyền sử dụng tài nguyên hệ thống VD:
Trong trường hợp có 2 tác vụ cùng truy cập một chiếc máy in. tác vụcần yêu cầu
chìa khóa (semaphore) bằng cách gọi tới một dịch vụ thích hợp.Nếu chìa khóa ở trạng
thái sẵn sàng (có nghĩa là tài nguyên hiện tại đang không được sửdụng bởi tác vụ
nào),tác vụ có thể được phép sử dụng tài nguyên,đồng thời chìa khóa sẽ được giữ
lại.Sau khi sử dụng xong, tác vụ đó phải trả lại chìa khóa (semaphore) để các
tác vụ khác có  thể sử dụng tài nguyên hệ
thống. nếu tài nguyên đang được sửdụng bởi tác vụ khác, tác vụ đó sẽ bị khóa
cho đến khi semaphore được trả lại.Trong trường hợp cùng một lúc có nhiều tác vụ
yêu cầu semaphore khi tài nguyên hệthống đang được sửdụng thì tất cả tác vụ đó
sẽ bị khóa lại.Các tác vụ bị khóa sẽ được xếp hàng theo thứ tựvề mặt ưu tiên
hay về mặt thời gian theo yêu cầu semaphore
bài viêt rất hay ,nhưng bạn để front chữ nhỏ wa ,rất cám ơn bạn đã chia sẻ thông tin
..............................................................................
Mr. Sỹ - Chuyên viên tư vấn giải pháp hội nghị truyền hình cho các doanh nghiệp
Click để xem chi tiết:
camera conference | oneking