2010-02-22 22 views
6

Chỉ cần quan tâm, chúng tôi biết có rất nhiều chương trình liên quan đến việc tạo vệ tinh. Họ viết bằng ngôn ngữ nào?Ngôn ngữ được sử dụng để viết chương trình cho truyền hình vệ tinh?

+3

Làm thế nào về các ngôn ngữ được sử dụng để điều khiển hệ thống tăng tốc và phanh của Toyota? – DOK

+2

@DOK Nhận xét tôi đã viết trong một chuỗi thảo luận có liên quan trên lwn.net: http://lwn.net/Articles/374618/ –

+0

Cảm ơn tất cả, điều đó thực sự thú vị :) – trinity

Trả lời

0

Như với bất kỳ nỗ lực phần mềm nào khác, ngôn ngữ được sử dụng để thực hiện một số chức năng trong vệ tinh sẽ là ngôn ngữ phù hợp nhất cho các trình điều khiển doanh nghiệp và CNTT khác nhau có hiệu lực.

Bạn sẽ tìm thấy các ví dụ về các ngôn ngữ khác nhau đang được sử dụng trong hàng không vũ trụ nếu bạn nhìn xung quanh. Với câu hỏi của bạn, bạn có thể muốn xem Ada, thường được gọi là đang được sử dụng trong 'hệ thống thời gian thực', một bài báo để tác động là here, một số người dùng không bảo vệ được liệt kê here.

3

Vì họ có một kiến ​​trúc tùy chỉnh kết nối với thiết bị ngoại vi linh tinh tôi/O họ nên được lập trình trong C/C++ hoặc trực tiếp trong ASM cho hiệu suất tốt hơn và tối ưu hóa ..

Họ hoàn toàn tùy chỉnh vì vậy tôi không nghĩ có những cách tiếp cận khác cho vấn đề, nghĩ rằng họ phải sử dụng năng lượng thực sự thấp (và phải được tính bằng mặt trời) để chúng có xu hướng không có phần cứng mạnh và phải được tối ưu hóa thực sự (đó là lý do tại sao ASM là con đường). Bạn không nên lãng phí bất kỳ chu kỳ CPU đơn nào!

Cuối cùng là loại thiết bị gắn với vệ tinh thực sự không phổ biến nên tôi nghĩ rất khó sử dụng bất kỳ loại API chuẩn nào để giao tiếp (như RS232 hoặc vân vân), tôi nghĩ chúng khác nhau cho mọi trường hợp.

Tôi sẽ không ngạc nhiên khi tìm thấy nhiều chip cũ như Z80s thực hiện công việc bẩn trên vệ tinh chỉ vì chúng đủ mạnh để thực hiện các tác vụ đơn giản mặc dù xe buýt 8 bit của chúng!

2

C, C++ và Ada được đề cập here (có, tác giả không thể viết hoa "Ada"). Mã C có thể được viết bằng tay hoặc được tạo từ Scade.

2

Ngoài các khả năng đã được đề cập, ít nhất one spacecraft được kiểm soát bởi phần mềm được viết bằng Lisp cho một phần chuyến bay của nó.

9

Các sứ mệnh vệ tinh của NASA mà tôi đã tham gia với tất cả ngôn ngữ lắp ráp đã sử dụng cho phần mềm tích hợp. Có một sở thích mạnh mẽ tại NASA để sử dụng phần mềm chuyến bay với di sản - sử dụng lại các thành phần (cả phần cứng và phần mềm) với lịch sử thành công đã được chứng minh về các nhiệm vụ trước đó. Vì vậy, thay vì sử dụng mã được biên dịch trên các bộ xử lý mới nhất, mạnh mẽ nhất, , chúng tôi thường kết thúc bằng cách sử dụng bộ mã hóa bằng tay trên các bộ xử lý đáng sợ, nhưng đã cố gắng và đúng. Ví dụ, dự án THEMIS, được xây dựng vào năm 2003 và ra mắt vào năm 2007, chạy trên các bộ vi xử lý Intel 8085, với các mô-đun lắp ráp bằng tay với di sản từ các nhiệm vụ trước như WIND, CLUSTER và STEREO.

0

Hầu hết các ngôn ngữ hoạt động được sử dụng tại NASA và trung tâm Lockheed xung quanh thống kê và tính toán. Do đó có nghĩa là MATLAB, haskell, Erlang và scala. MATLAB và Erlang là những người lớn được yêu cầu cung cấp.

Khi phần cứng kết thúc của mọi thứ sẽ được căn giữa xung quanh Assembly, C và Verilog.

1

NASA sử dụng nhiều ngôn ngữ và nó khác nhau tùy theo mục đích sử dụng và nơi sử dụng.Các chương trình được viết cho một số phép tính và đối với một số kịch bản được viết chủ yếu bằng cách sử dụng python. Các chương trình dành cho các công cụ mặt đất và điều khiển mặt đất được viết bằng C, C++, Ada, vv Các chương trình quan trọng được viết cho các thiết bị và phần cứng trên bo mạch chủ yếu ở ngôn ngữ hội họp vì nó cung cấp khả năng kiểm soát tốt nhất phần cứng và một số ngôn ngữ cũ được sử dụng như nhiều phần cứng trên vệ tinh là của công nghệ cũ (Nó không có nghĩa là họ đang ra ngày gây ra một số chức năng không thể làm mà không có họ) và các ngôn ngữ khác như MatLab, Visual Basic cũng được sử dụng cho các tính toán khoa học.

Các vấn đề liên quan