برق و الکترونیک *دانلود پروژه رایگان
رفتن به کانال در Telegram
2 500
مشترکین
+124 ساعت
+47 روز
+430 روز
آرشیو پست ها
🚀 معرفی تراشه جدید Allwinner T153؛ گامی بزرگ در نسل جدید پردازندههای صنعتی و HMI
اگر در حوزه طراحی سختافزار، سیستمهای نهفته (Embedded Systems) یا تجهیزات اتوماسیون صنعتی فعالیت میکنید، احتمالاً تراشه قدرتمند و اقتصادی T113-S3 را میشناسید. اما کمپانی Allwinner با معرفی خانواده جدید T153، استانداردهای جدیدی را برای پردازندههای صنعتی ارائه داده است!
در ادامه نگاهی به معماری، امکانات و مقایسه توان پردازشی T153 با T113-S3 میاندازیم.
🔹 مشخصات و ویژگیهای کلیدی Allwinner T153
1️⃣ معماری پردازشی دوگانه (Heterogeneous Architecture):
پردازنده اصلی: ۴ هسته Arm Cortex-A7 (۳۲ بیتی) با فرکانس کاری بالا (تا ۱.۶ گیگاهرتز) و ۵۱۲ کیلوبایت L2 Cache.
کمکپردازنده بلادرنگ (MCU): یک هسته مجزای RISC-V E907 با فرکانس ۶۰۰ مگاهرتز جهت مدیریت تسکهای Real-Time و پردازشهای کممصرف.
2️⃣ پشتیبانی از رمهای نسل جدید:
پشتیبانی از حافظههای DDR3 / DDR3L / DDR4 با فرکانس تا ۱۰۶۶ مگاهرتز (دارای نسخههای مجزا و مدلهای SiP با رم داخلی ۱۲۸ یا ۲۵۶ مگابایت).
3️⃣ رابطهای تصویر و نمایشگر (Display & Camera):
خروجیها: پشتیبانی همزمان از RGB، LVDS دوگانه (تا Full HD) و MIPI DSI (تا Full HD) همراه با شتابدهنده گرافیکی G2D.
ورودیها: دارای ISP داخلی (تا ۲ مگاپیکسل) و پشتیبانی از MIPI CSI و Parallel CSI.
4️⃣ ارتباطات صنعتی و شبکه:
شبکه: دارای ۳ پورت اترنت گیگابیتی (GMAC) با پشتیبانی از RGMII/RMII.
گذرگاههای صنعتی: پشتیبانی از ۲ پورت CAN-FD (سرعت بالا و مطمئن برای شبکه خودرویی و صنعتی) و Local Bus شانزده/سیودو بیتی.
پورتهای عمومی: ۱۰ پورت UART، ۶ پورت TWI/I2C، ۴ پورت SPI، و USB 2.0.
5️⃣ امکانات آنالوگ و سختافزار جانبی:
دارای ۲۴ کانال ADC عمومی (GPADC)، مبدل تاچپنل (TPADC) و تا ۳۰ کانال PWM با قابلیت کنترل استپر موتور.
🔍 مقایسه توان پردازشی T153 با T113-S3
اگر بخواهیم این دو تراشه را مستقیماً از نظر توان پردازشی (CPU Compute) و کارایی در سیستمعاملهای لینوکس و رابطهای گرافیکی (مانند LVGL یا Qt) مقایسه کنیم:
💥 قدرت پردازنده مرکزی (CPU):
تراشه T113-S3 دارای ۲ هسته Cortex-A7 تا فرکانس ۱.۲ گیگاهرتز است. اما تراشه T153 مجهز به ۴ هسته Cortex-A7 با فرکانس بالاتر تا ۱.۶ گیگاهرتز است. این یعنی T153 از نظر قدرت پردازش خالص بیش از ۲ برابر قویتر از T113-S3 عمل میکند!
⚡️ پردازشهای بلادرنگ (Real-Time):
در T113-S3 پردازشهای بلادرنگ به اجزای داخلی سادهتر متکی است، اما T153 دارای یک هسته پردازشی کاملاً مجزا و قدرتمند RISC-V E907 است که بار کارهای بلادرنگ را از روی پردازنده اصلی برمیدارد.
🚀 سرعت حافظه و پهنای باند:
تراشه T113-S3 محدود به حافظههای با سرعت پایینتر است، در حالی که T153 با پشتیبانی از DDR4 و فرکانسهای بالاتر، پهنای باند بسیار بیشتری را در اختیار سیستم قرار میدهد.
🌐 اتصالات و شبکه:
در حالی که T113-S3 تنها ۱ یا ۲ پورت اترنت و پشتیبانی از CAN 2.0 دارد، تراشه T153 به ۳ پورت اترنت گیگابیتی و پورتهای قدرتمند CAN-FD مجهز شده است.
💡 جمعبندی:
اگر پروژههای شما با T113-S3 به مرزهای نهایی قدرت پردازشی، کمبود هسته یا محدودیت در اجرای گرافیکهای سنگین برخورده است، T153 با ۲ برابر هسته پردازشی، فرکانس بالاتر و هسته کمکی RISC-V، ارتقای فوقالعادهای برای پروژههای حرفهای و صنعتی شما خواهد بود.
در این مسیر از تبدیلهای غیرضروری مانند RGB و BGR جلوگیری میشود.
هر تبدیل اضافه معمولاً باعث موارد زیر میشود:
مصرف بیشتر CPU
کپی بیشتر حافظه
تأخیر بیشتر
مصرف بیشتر RAM
کاهش FPS━━━━━━━━━━━━━━ ۵. تفاوت MJPEG، YUYV و NV12 MJPEG یک فرمت فشرده است. YUYV یک فرمت خام با نمونهبرداری YUV 4:2:2 است. NV12 یک فرمت خام با نمونهبرداری YUV 4:2:0 است. MJPEG برای انتقال روی USB بسیار کمحجمتر است. YUYV اطلاعات خام بیشتری دارد، اما پهنایباند زیادی مصرف میکند. NV12 برای پردازش سختافزاری و ورود به APU معمولاً مناسبتر است. MJPEG برای HTTP و ذخیره AVI مناسبتر است. YUYV برای پردازش خام مناسب است، اما برای ضبط باید Encode شود. NV12 برای انتقال USB معمولاً خروجی مستقیم رایج دوربین نیست، بلکه بیشتر یک فرمت میانی در داخل سیستم است. مسیر معمول هرکدام:
MJPEG:
MJPEG → JPEG Decode → NV12 یا RGB → APU
YUYV:
YUYV → NV12 یا RGB → APU
NV12:
NV12 → Resize و Normalize → APU━━━━━━━━━━━━━━ ۶. بهترین انتخاب برای T527 چیست؟ انتخاب نهایی به هدف پروژه بستگی دارد. اگر هدف اصلی پخش زنده و ضبط AVI است:
MJPEGانتخاب بهتری است، چون:
MJPEG → HTTP
MJPEG → AVIدر این حالت فریمهای JPEG بدون Encode مجدد در AVI ذخیره میشوند. اگر هدف اصلی پردازش تصویر با APU یا NPU است:
YUYV → NV12 → APUمسیر مناسبی است، چون مرحله JPEG Decode حذف میشود. اگر دوربین در YUYV رزولوشن بالا را فقط با 10 FPS ارائه کند، اما در MJPEG همان رزولوشن را با 30 FPS ارائه دهد، MJPEG در عمل میتواند سریعتر باشد. اگر هم پردازش تصویر و هم ضبط ویدئو لازم باشد، مسیر پیشنهادی میتواند این باشد:
YUYV
├── NV12 → APU یا NPU
└── JPEG Encode → AVI یا HTTPدر این حالت باید از JPEG Encoder سختافزاری یا نرمافزاری استفاده شود. ━━━━━━━━━━━━━━ ۷. آیا YUYV همیشه سریعتر از MJPEG است؟ خیر. YUYV به JPEG Decode نیاز ندارد، اما حجم خام آن بسیار زیاد است. اگر USB، حافظه یا مسیر انتقال نتواند حجم داده را بهموقع منتقل کند، FPS کاهش پیدا میکند. مثلاً ممکن است دوربین در حالت زیر کار کند:
YUYV 1280x720 = 10 FPS
MJPEG 1280x720 = 30 FPSدر این شرایط، با اینکه YUYV Decode نمیخواهد، MJPEG برای دریافت فریم سریعتر است. بنابراین همیشه باید خروجی واقعی دوربین را بررسی کرد:
v4l2-ctl -d /dev/video0 --list-formats-ext
در این خروجی باید به سه مورد توجه کرد:
فرمت تصویر
رزولوشن
FPS قابل پشتیبانی━━━━━━━━━━━━━━ ۸. بررسی فرمتهای واقعی دوربین برای نمایش فرمتها، رزولوشنها و FPSهای واقعی دوربین:
v4l2-ctl -d /dev/video0 --list-formats-ext
نمونه خروجی:
[0]: 'YUYV' (YUYV 4:2:2)
Size: Discrete 640x480
Interval: Discrete 0.033s (30.000 fps)
[1]: 'MJPG' (Motion-JPEG, compressed)
Size: Discrete 1280x720
Interval: Discrete 0.033s (30.000 fps)در این نمونه:
YUYV در 640x480 با 30 FPS موجود است.
MJPEG در 1280x720 با 30 FPS موجود است.برای پردازش با APU، YUYV میتواند مناسب باشد. برای پخش زنده با رزولوشن بالا، MJPEG انتخاب بهتری است. ━━━━━━━━━━━━━━ ۹. مسیر پیشنهادی برای T527 اگر هدف، پردازش سریع تصویر با کمترین تبدیل باشد:
دوربین USB
↓
YUYV
↓
NV12 با G2D یا سختافزار تصویر
↓
Resize
↓
Normalize
↓
APU یا NPUاگر هدف، پخش زنده و ضبط AVI باشد:
دوربین USB
↓
MJPEG
├── HTTP Stream
└── AVI بدون Encode مجدداگر هر دو هدف همزمان وجود داشته باشد:
دوربین USB
↓
YUYV
├── NV12 → APU یا NPU
└── JPEG Encode → AVI یا HTTPالبته مسیر سوم به JPEG Encoder نیاز دارد و از نظر پیادهسازی پیچیدهتر است. ━━━━━━━━━━━━━━ ✅ جمعبندی اگر اولویت اصلی پخش زنده و ضبط AVI است:
MJPEG را انتخاب کن.اگر اولویت اصلی پردازش تصویر با APU در T527 است:
YUYV → NV12 → APUاگر مدل فقط RGB یا BGR قبول میکند:
YUYV → RGB یا BGR → Resize و Normalize → APUاگر هدف همزمان پردازش تصویر و ضبط ویدئو است:
YUYV → NV12 → APU
YUYV → JPEG Encode → AVI یا HTTPقاعده اصلی این است:
کمترین تبدیل
کمترین کپی حافظه
استفاده از فرمت native شتابدهندهیعنی هرچه مسیر پردازش کوتاهتر باشد، سرعت بیشتر و تأخیر کمتر خواهد بود.
🎥 آموزش YUYV، NV12 و MJPEG برای پردازش تصویر با T527
در پروژههای پردازش تصویر، انتخاب فرمت مناسب دوربین روی سرعت، مصرف USB، حافظه و عملکرد APU یا NPU تأثیر مستقیم دارد.
سه فرمت مهمی که معمولاً در دوربینهای USB میبینیم عبارتاند از:
MJPEG
YUYV
NV12
در ادامه تفاوت این فرمتها و بهترین مسیر پردازش روی تراشههایی مانند Allwinner T527 را بررسی میکنیم.
━━━━━━━━━━━━━━
۱. MJPEG چیست؟
در حالت MJPEG، دوربین هر فریم تصویر را بهصورت جداگانه با الگوریتم JPEG فشرده میکند.
ساختار ویدئو تقریباً به این شکل است:
JPEG Frame 1
JPEG Frame 2
JPEG Frame 3
JPEG Frame 4
...هر فریم یک تصویر JPEG مستقل است. مزیت مهم MJPEG این است که حجم اطلاعات بسیار کمتر از تصویر خام است. به همین دلیل پهنایباند کمتری از USB مصرف میکند و برای دوربینهای USB، پخش زنده و ضبط ویدئو گزینه بسیار مناسبی است. مزایای MJPEG: ✅ مصرف کمتر پهنایباند USB ✅ مناسب برای دوربینهای USB ✅ مناسب برای HTTP Streaming ✅ امکان ذخیره مستقیم فریمهای JPEG در AVI ✅ عدم نیاز به JPEG Encode مجدد هنگام ضبط معایب MJPEG: ❌ تصویر از قبل فشرده شده است ❌ برای پردازش باید JPEG Decode انجام شود ❌ بعد از Decode معمولاً باید تصویر به YUV یا RGB تبدیل شود ❌ Decode کردن هر فریم مقداری زمان و حافظه مصرف میکند مسیر معمول پردازش MJPEG:
USB Camera
↓
MJPEG
↓
JPEG Decoder
↓
NV12 یا RGB
↓
Resize و Normalize
↓
APU یا NPUبرای پخش زنده و ضبط AVI، مسیر MJPEG بسیار مناسب است:
MJPEG
├── HTTP Stream
└── AVI بدون Encode مجدد━━━━━━━━━━━━━━ ۲. YUYV چیست؟ YUYV یک فرمت خام و فشردهنشده از خانواده YUV است. در YUYV اطلاعات روشنایی و رنگ مستقیماً از دوربین دریافت میشود و JPEG Decode وجود ندارد. چیدمان ساده دادهها:
Y0 U0 Y1 V0
Y2 U1 Y3 V1
...هر چهار بایت، اطلاعات دو پیکسل را نگهداری میکند:
Y0 و Y1 = روشنایی دو پیکسل
U0 و V0 = اطلاعات رنگ مشترکدر نتیجه هر پیکسل تقریباً ۲ بایت فضا مصرف میکند. برای تصویر 1280 در 720:
1280 × 720 × 2 = 1,843,200 bytesیعنی هر فریم YUYV حدود 1.76 مگابایت حجم دارد. اگر نرخ تصویر 30 فریم بر ثانیه باشد:
1,843,200 × 30 ≈ 55 MB/sبنابراین YUYV در رزولوشن بالا پهنایباند زیادی از USB مصرف میکند. مزایای YUYV: ✅ بدون نیاز به JPEG Decode ✅ کیفیت خام تصویر ✅ مناسب برای پردازش لحظهای ✅ تأخیر کمتر نسبت به MJPEG، در صورتی که USB گلوگاه نباشد ✅ مناسب برای تبدیل سختافزاری با G2D معایب YUYV: ❌ حجم داده بسیار زیاد ❌ مصرف بالای پهنایباند USB ❌ مصرف بیشتر حافظه ❌ ممکن است در رزولوشن بالا FPS کاهش پیدا کند ❌ برای ذخیره AVI باید ابتدا JPEG Encode انجام شود ❌ اگر APU مستقیماً YUYV را قبول نکند، تبدیل فرمت لازم است مسیر پردازش YUYV:
USB Camera
↓
YUYV خام
↓
تبدیل به NV12 یا RGB
↓
Resize و Normalize
↓
APU یا NPU━━━━━━━━━━━━━━ ۳. NV12 چیست؟ NV12 یک فرمت خام YUV با نمونهبرداری رنگی 4:2:0 است. NV12 مانند JPEG فشرده نیست، اما اطلاعات رنگ را با حجم کمتری ذخیره میکند. ساختار NV12 از دو قسمت تشکیل شده است. قسمت اول، صفحه Y است:
Y Y Y Y Y Y
Y Y Y Y Y Y
Y Y Y Y Y Yبرای هر پیکسل یک مقدار روشنایی Y وجود دارد. قسمت دوم، صفحه UV است:
U V U V U V
U V U V U Vدر NV12 اطلاعات U و V بهصورت درهمتنیده ذخیره میشوند. تعداد اطلاعات رنگ در NV12 کمتر از اطلاعات روشنایی است. به همین دلیل NV12 بهطور میانگین 1.5 بایت برای هر پیکسل مصرف میکند. برای تصویر 1280 در 720:
1280 × 720 × 1.5 = 1,382,400 bytesیعنی هر فریم NV12 حدود 1.32 مگابایت حجم دارد. مقایسه حجم یک فریم 1280 در 720:
YUYV ≈ 1.76 MB
NV12 ≈ 1.32 MB
MJPEG = حجم متغیر و معمولاً بسیار کمترNV12 برای پردازش ویدئو و شتابدهندههای سختافزاری بسیار مناسب است، چون هم خام است و هم حجم کمتری نسبت به YUYV دارد. ━━━━━━━━━━━━━━ ۴. چرا NV12 برای APU یا NPU مناسب است؟ بسیاری از APUها و NPUها، مستقیماً یا با یک تبدیل بسیار ساده از فرمتهایی مانند NV12 استفاده میکنند. مزایای NV12 برای پردازش: ✅ بدون JPEG Decode ✅ حجم کمتر از YUYV ✅ مناسب برای پردازش سختافزاری ✅ قابل استفاده با G2D ✅ مناسب برای Resize و Color Conversion ✅ مناسب برای پردازش ویدئویی و هوش مصنوعی اگر مدل APU ورودی NV12 را قبول کند، مسیر پیشنهادی این است:
YUYV
↓
NV12 با G2D یا سختافزار تصویر
↓
Resize
↓
Normalize
↓
APU یا NPU
